All LM87 firmwares need a explicit termination "packet",
in oder to finish the pending transfer properly.
Signed-off-by: Christian Lamparter <[email protected]>
---
Larry,
Does your test case still fail with this one?
---
diff -Nurp a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
--- a/drivers/net/wireless/p54/p54usb.c 2008-12-20 00:26:35.000000000 +0100
+++ b/drivers/net/wireless/p54/p54usb.c 2008-12-20 01:09:45.000000000 +0100
@@ -284,6 +284,7 @@ static void p54u_tx_lm87(struct ieee8021
usb_fill_bulk_urb(data_urb, priv->udev,
usb_sndbulkpipe(priv->udev, P54U_PIPE_DATA),
skb->data, skb->len, p54u_tx_cb, skb);
+ data_urb->transfer_flags |= URB_ZERO_PACKET;
usb_anchor_urb(data_urb, &priv->submitted);
if (usb_submit_urb(data_urb, GFP_ATOMIC)) {
Larry Finger wrote:
>
> When the connection failed, unloading the driver and reloading it yielded the lines
>
> usb 1-5: (p54usb) reset failed! (-22)
> p54usb: probe of 1-5:1.0 failed with error -22
I think this problem was thermal. After the device sat on the shelf for 20
minutes, it worked fine. Maybe I need a better heat sink as well.
Larry
Christian Lamparter wrote:
> All LM87 firmwares need a explicit termination "packet",
> in oder to finish the pending transfer properly.
>
> Signed-off-by: Christian Lamparter <[email protected]>
> ---
> Larry,
>
> Does your test case still fail with this one?
No, it seems to be fixed. I still have a failure, but the symptoms are different.
Today I had created the following script:
#! /usr/bin/perl
#
for ($i = 30; $i < 1600 ; $i++) {
`ping -c 1 -s $i my_server`;
printf ("%d\n ", $i);
}
I found that this script stalled for i of 372, 884 and 1396. I was still trying
to find it it was a transmit or receive problem when your patch arrived. With
this change, the ping script runs to completion, and my NFS compile ran a lot
longer than previously.
When the connection failed, unloading the driver and reloading it yielded the lines
usb 1-5: (p54usb) reset failed! (-22)
p54usb: probe of 1-5:1.0 failed with error -22
In my estimation, I think the patch is clearly needed and should be pushed.
Larry