summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff')
-rw-r--r--recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff22
1 files changed, 22 insertions, 0 deletions
diff --git a/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff b/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
new file mode 100644
index 0000000000..1651bd5678
--- /dev/null
+++ b/recipes/linux/linux-mtx-2-2.4.27/32-usbserial-stalled-hack.diff
@@ -0,0 +1,22 @@
+--- linux-old/drivers/usb/serial/usbserial.c 2005-08-28 20:23:40.000000000 +0200
++++ linux/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;