lkml.org 
[lkml]   [2005]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] Regression in 2.6.13 in USB generic serial driver
Kernel version 2.6.13 introduced a regression (vs. 2.6.12.6) in the
generic USB serial converter driver. The regression manifests, as far
as I can tell, whenever you attempt to write to the device. The
symptom is that the write never completes (write() returns 0, or
blocks). I'm pretty sure this will happen with all hardware, but I
only have my hardware to test with (amd64 host interfacing to a
custom-built USB device based on an Atmel AT91SAM7X256 arm7tdmi chip's
built-in USB transceiver).

The patch (vs. vanilla 2.6.13.4) is rather straightforward:

===================================================================
diff -ru linux-2.6.13.4/drivers/usb/serial/generic.c linux-2.6.13.4-fixed/drivers/usb/serial/generic.c
--- linux-2.6.13.4/drivers/usb/serial/generic.c 2005-10-10 14:54:29.000000000 -0400
+++ linux-2.6.13.4-fixed/drivers/usb/serial/generic.c 2005-10-13 21:34:54.000000000 -0400
@@ -223,7 +223,7 @@
dbg("%s - port %d", __FUNCTION__, port->number);

if (serial->num_bulk_out) {
- if (port->write_urb_busy)
+ if (!(port->write_urb_busy))
room = port->bulk_out_size;
}

===================================================================
Please let me know if I'm missing something. Otherwise, do I need to
do anything in particular to get a maintainer to accept the patch?
(I'm a long-time user, first-time patcher, so forgive my ignorance
about procedures.)

--
Randall
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-14 03:48    [W:1.877 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site