summaryrefslogtreecommitdiff
path: root/packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
diff options
context:
space:
mode:
authorMartin Dietze <di@fh-wedel.de>2006-09-08 12:41:48 +0000
committerMartin Dietze <di@fh-wedel.de>2006-09-08 12:41:48 +0000
commit03b3579813b72ea73f9961105c598581e3f073e0 (patch)
treed58b298506103cc591fb4fd1c51bea9f88ee3f61 /packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
parent6f4455ad4fe9f67a9b2cc316663b69f085af4031 (diff)
linux kernels: updated kernels plus patches for nylon/mtx
* linux-mtx-1-2.4.27: the standard kernel used for the 4G access cube * linux-mtx-1u-2.4.27: the customized kernel for the 4G Surfbox I * linux-mtx-2-2.4.27: the customized kernel for the 4G Surfbox II
Diffstat (limited to 'packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff')
-rw-r--r--packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff b/packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
new file mode 100644
index 0000000000..bfc1af9db9
--- /dev/null
+++ b/packages/linux/linux-mtx-1-2.4.27/32-usbserial-stalled-hack.diff
@@ -0,0 +1,22 @@
+--- linux-2.4.27-mtx1/drivers/usb/serial/usbserial.c 2005-08-28 20:23:40.000000000 +0200
++++ linux-2.4.27-mtx1/drivers/usb/serial/usbserial.c 2005-08-28 20:23:12.000000000 +0200
+@@ -499,6 +499,19 @@
+ /* get_usb_serial checks port->tty, so cannot be used */
+ serial = port->serial;
+ if (port->write_busy) {
++
++ /*-- how is the status of the outgoing urb? --*/
++ /*-- did we miss a callback? --*/
++ /*-- problem with the hack below is that we may */
++ /* corrup structures we currently walk thru */
++ if (port->write_urb && port->write_urb->status != -EINPROGRESS) {
++ if (port->write_urb->complete)
++ port->write_urb->complete(port->write_urb);
++ else
++ dbg("%s: URB %p has no complete function\n", __FUNCTION__, port->write_urb);
++ }
++
++
+ dbg("%s - port %d busy", __FUNCTION__, port->number);
+ pos = pos->next;
+ continue;