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: sta...@vger.kernel.org
Signed-off-by: Johan Hovold <jo...@kernel.org>
---
 drivers/tty/moxa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 32eb6b5e510f..5b7bc7af8b1e 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -2038,7 +2038,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;
 }
@@ -2067,7 +2067,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);
 
-- 
2.26.3

Reply via email to