This is a note to let you know that I've just added the patch titled

    USB: serial: fix infinite wait_until_sent timeout

to the 3.10-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     usb-serial-fix-infinite-wait_until_sent-timeout.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From f528bf4f57e43d1af4b2a5c97f09e43e0338c105 Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Wed, 4 Mar 2015 10:39:05 +0100
Subject: USB: serial: fix infinite wait_until_sent timeout

From: Johan Hovold <[email protected]>

commit f528bf4f57e43d1af4b2a5c97f09e43e0338c105 upstream.

Make sure to handle an infinite timeout (0).

Note that wait_until_sent is currently never called with a 0-timeout
argument due to a bug in tty_wait_until_sent.

Fixes: dcf010503966 ("USB: serial: add generic wait_until_sent
implementation")
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/usb/serial/generic.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -261,7 +261,8 @@ void usb_serial_generic_wait_until_sent(
         * character or at least one jiffy.
         */
        period = max_t(unsigned long, (10 * HZ / bps), 1);
-       period = min_t(unsigned long, period, timeout);
+       if (timeout)
+               period = min_t(unsigned long, period, timeout);
 
        dev_dbg(&port->dev, "%s - timeout = %u ms, period = %u ms\n",
                                        __func__, jiffies_to_msecs(timeout),
@@ -271,7 +272,7 @@ void usb_serial_generic_wait_until_sent(
                schedule_timeout_interruptible(period);
                if (signal_pending(current))
                        break;
-               if (time_after(jiffies, expire))
+               if (timeout && time_after(jiffies, expire))
                        break;
        }
 }


Patches currently in stable-queue which might be from [email protected] are

queue-3.10/usb-serial-fix-infinite-wait_until_sent-timeout.patch
queue-3.10/usb-serial-cp210x-adding-seletek-device-id-s.patch
queue-3.10/tty-fix-tty_wait_until_sent-on-64-bit-machines.patch
queue-3.10/usb-ftdi_sio-add-jtag-quirk-support-for-cyber-cortex-av-boards.patch
queue-3.10/usb-serial-fix-potential-use-after-free-after-failed-probe.patch
queue-3.10/net-irda-fix-wait_until_sent-poll-timeout.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to