]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tty: moxa: fix TIOCSSERIAL jiffies conversions
authorJohan Hovold <johan@kernel.org>
Wed, 7 Apr 2021 10:23:28 +0000 (12:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 08:49:22 +0000 (10:49 +0200)
commit 6e70b73ca5240c0059a1fbf8ccd4276d6cf71956 upstream.

The port close_delay parameter set by TIOCSSERIAL is specified in
jiffies, while the value returned by TIOCGSERIAL is specified in
centiseconds.

Add the missing conversions so that TIOCGSERIAL works as expected also
when HZ is not 100.

Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210407102334.32361-11-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/moxa.c

index 9f13f7d49dd78874283efbb3a0286a776b882dc3..fcfd25e19dc8fcce988541c8892b06df0317319e 100644 (file)
@@ -2040,7 +2040,7 @@ static int moxa_get_serial_info(struct tty_struct *tty,
        ss->line = info->port.tty->index,
        ss->flags = info->port.flags,
        ss->baud_base = 921600,
-       ss->close_delay = info->port.close_delay;
+       ss->close_delay = jiffies_to_msecs(info->port.close_delay) / 10;
        mutex_unlock(&info->port.mutex);
        return 0;
 }
@@ -2069,7 +2069,7 @@ static int moxa_set_serial_info(struct tty_struct *tty,
                        return -EPERM;
                }
        }
-       info->port.close_delay = ss->close_delay * HZ / 100;
+       info->port.close_delay = msecs_to_jiffies(ss->close_delay * 10);
 
        MoxaSetFifo(info, ss->type == PORT_16550A);