[PATCH] USB: ipw.c driver fix
authorBart Oldeman <bartoldeman@users.sourceforge.net>
Sun, 2 Jul 2006 03:07:10 +0000 (15:07 +1200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 Jul 2006 23:03:23 +0000 (16:03 -0700)
The below patch fixes the ipw module in kernel 2.6.17 for me; without
this change it simply does not work at all (all but the first writes are
refused because write_urb_busy is always 1).

This problem was there in 2.6.15 as well, but at that point I used the
(updated) ipw.c, version 0.4, from
http://www.neology.co.za/products/opensource/ipwireless/ which no longer
compiles with 2.6.17. It can be made to after a few changes but
obviously it's easier if the built-in ipw driver works instead of having
to download one from the neology site.

From: Bart Oldeman <bartoldeman@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ipw.c

index a4a0bfeaab00ba88a4f31d35da5dd4d5cb566c56..4d5275e4dead96a7ce782d1d0397c32603be0d23 100644 (file)
@@ -373,6 +373,8 @@ static void ipw_write_bulk_callback(struct urb *urb, struct pt_regs *regs)
 
        dbg("%s", __FUNCTION__);
 
+       port->write_urb_busy = 0;
+
        if (urb->status)
                dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status);