lkml.org 
[lkml]   [2015]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 092/165] net: irda: fix wait_until_sent poll timeout
    Date
    3.16.7-ckt9 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Johan Hovold <johan@kernel.org>

    commit 2c3fbe3cf28fbd7001545a92a83b4f8acfd9fa36 upstream.

    In case an infinite timeout (0) is requested, the irda wait_until_sent
    implementation would use a zero poll timeout rather than the default
    200ms.

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

    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    net/irda/ircomm/ircomm_tty.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c
    index 2ba8b9705bb7..fdcb9688b5d3 100644
    --- a/net/irda/ircomm/ircomm_tty.c
    +++ b/net/irda/ircomm/ircomm_tty.c
    @@ -818,7 +818,9 @@ static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout)
    orig_jiffies = jiffies;

    /* Set poll time to 200 ms */
    - poll_time = IRDA_MIN(timeout, msecs_to_jiffies(200));
    + poll_time = msecs_to_jiffies(200);
    + if (timeout)
    + poll_time = min_t(unsigned long, timeout, poll_time);

    spin_lock_irqsave(&self->spinlock, flags);
    while (self->tx_skb && self->tx_skb->len) {

    \
     
     \ /
      Last update: 2015-03-25 15:41    [W:4.086 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site