Prev: [PATCH] perf tools: Fix linking errors with --as-needed flag
Next: Tight check of pfn_valid on sparsemem - v2
From: Stefan Richter on 18 Jul 2010 07:10 On 17 Jul, Stefan Richter wrote: > --- a/drivers/firewire/ohci.c > +++ b/drivers/firewire/ohci.c > @@ -1105,6 +1105,10 @@ static int at_context_queue_packet(struc > } else { > last = &d[0]; > z = 2; > + > + if (packet->header_length == 8 && > + is_ping_packet(packet->header)) > + last->control |= cpu_to_le16(DESCRIPTOR_PING); > } > > last->control |= cpu_to_le16(DESCRIPTOR_OUTPUT_LAST | Here is a better implementation of the card driver's part. It moves the ping packet test out of an else branch that is taken for all no-payload packets into a switch block that is only reached in case of PHY packets. --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -1068,6 +1068,9 @@ static int at_context_queue_packet(struc header[1] = cpu_to_le32(packet->header[0]); header[2] = cpu_to_le32(packet->header[1]); d[0].req_count = cpu_to_le16(12); + + if (is_ping_packet(packet->header)) + d[0].control |= cpu_to_le16(DESCRIPTOR_PING); break; case 4: -- Stefan Richter -=====-==-=- -=== =--=- http://arcgraph.de/sr/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |