[PATCH] Regression in 2.6.13 in USB generic serial driver

From: Randall Nortman
Date: Thu Oct 13 2005 - 20:47:03 EST

Kernel version 2.6.13 introduced a regression (vs. 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 is rather straightforward:

diff -ru linux- linux-
--- linux- 2005-10-10 14:54:29.000000000 -0400
+++ linux- 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.)

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