Bug 12260

Summary: Regression due to commit 2b80848e3818fb1c (p54usb: support LM87 firmwares)
Product: Networking Reporter: Larry Finger (Larry.Finger)
Component: WirelessAssignee: networking_wireless (networking_wireless)
Status: CLOSED CODE_FIX    
Severity: normal CC: rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: v2.6.28-rc9 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 11808    

Description Larry Finger 2008-12-20 10:45:28 UTC
Latest working kernel version: v2.6.27
Earliest failing kernel version: v2.6.28-rc1
Distribution: openSUSE 11.1
Hardware Environment: HP dv2815nv laptop
Software Environment: x86_64
Problem Description: When using LM87 firmware, the p54usb device stalls for certain message lengths because the firmware needs an explicit termination packet.

The fix is the following patch from Christian Lamparter <chunkeey@web.de>:

Index: linux-2.6/drivers/net/wireless/p54/p54usb.c
===================================================================
--- linux-2.6.orig/drivers/net/wireless/p54/p54usb.c
+++ linux-2.6/drivers/net/wireless/p54/p54usb.c
@@ -251,6 +251,7 @@ static void p54u_tx_lm87(struct ieee8021
                usb_sndbulkpipe(priv->udev, P54U_PIPE_DATA), hdr,
                len + sizeof(*hdr), free_on_tx ? p54u_tx_free_cb : p54u_tx_cb,
                dev);
+       data_urb->transfer_flags |= URB_ZERO_PACKET;

        usb_submit_urb(data_urb, GFP_ATOMIC);
 }


Steps to reproduce: Do a variable length ping with the packetsize set to 368, 880, or 1392.
Comment 1 Rafael J. Wysocki 2008-12-20 14:35:13 UTC
First-Bad-Commit : 2b80848e3818fb1c8ccddc105b065a86c68afa9d
Notify-Also : Christian Lamparter <chunkeey@web.de>
Notify-Also : Linux wireless <linux-wireless@vger.kernel.org>
Patch : http://bugzilla.kernel.org/show_bug.cgi?id=12260
Comment 2 John W. Linville 2009-01-13 11:21:07 UTC
Pull request w/ this fix sent to Dave Miller on 2009-01-13...
Comment 3 John W. Linville 2009-01-20 14:05:13 UTC
commit 00627f229c9807e4cb825a7ce36b886e2adf2229
Author: Christian Lamparter <chunkeey@web.de>
Date:   Sat Dec 20 02:21:56 2008 +0100

    p54usb: fix random traffic stalls (LM87)

    All LM87 firmwares need a explicit termination "packet",
    in oder to finish the pending transfer properly.

    Signed-off-by: Christian Lamparter <chunkeey@web.de>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>