diff options
Diffstat (limited to 'packages/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff')
-rw-r--r-- | packages/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/packages/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff b/packages/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff deleted file mode 100644 index 6a98f76c7a..0000000000 --- a/packages/linux/linux-mtx-2-2.4.27/43-usbserial-27-32-backport.diff +++ /dev/null @@ -1,33 +0,0 @@ ---- linux/drivers/usb/serial/usbserial.c-27 2006-06-27 10:26:06.294476250 +0200 -+++ linux/drivers/usb/serial/usbserial.c 2006-06-27 10:30:31.011020000 +0200 -@@ -528,8 +528,18 @@ - down(&port->sem); - dbg("%s - port %d len %d backlog %d", __FUNCTION__, - port->number, job->len, port->write_backlog); -- if (port->tty != NULL) -- __serial_write(port, 0, job->buff, job->len); -+ if (port->tty != NULL) { -+ int rc; -+ int sent = 0; -+ while (sent < job->len) { -+ rc = __serial_write(port, 0, job->buff + sent, job->len - sent); -+ if ((rc < 0) || signal_pending(current)) -+ break; -+ sent += rc; -+ if ((sent < job->len) && current->need_resched) -+ schedule(); -+ } -+ } - up(&port->sem); - - spin_lock_irqsave(&post_lock, flags); -@@ -725,6 +735,9 @@ - struct usb_serial_port *port = (struct usb_serial_port *) tty->driver_data; - int rc; - -+ if (!port) -+ return -ENODEV; -+ - if (!in_interrupt()) { - /* - * Run post_list to reduce a possiblity of reordered writes. |