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.
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
Pull request w/ this fix sent to Dave Miller on 2009-01-13...
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>