Re: [PATCH 5/4 RFC] firewire: cdev: add PHY pinging

From: Stefan Richter
Date: Sun Jul 18 2010 - 07:01:13 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/