staging: fwserial: fix TIOCSSERIAL jiffies conversions
authorJohan Hovold <johan@kernel.org>
Wed, 7 Apr 2021 10:23:19 +0000 (12:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 07:49:56 +0000 (09:49 +0200)
commit 7a3791afdbd5a951b09a7689bba856bd9f6c6a9f 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.

Fixes: 7355ba3445f2 ("staging: fwserial: Add TTY-over-Firewire serial driver")
Cc: stable@vger.kernel.org # 3.8
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210407102334.32361-2-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fwserial/fwserial.c

index c368082..c963848 100644 (file)
@@ -1223,7 +1223,7 @@ static int get_serial_info(struct tty_struct *tty,
        ss->flags = port->port.flags;
        ss->xmit_fifo_size = FWTTY_PORT_TXFIFO_LEN;
        ss->baud_base = 400000000;
-       ss->close_delay = port->port.close_delay;
+       ss->close_delay = jiffies_to_msecs(port->port.close_delay) / 10;
        mutex_unlock(&port->port.mutex);
        return 0;
 }
@@ -1245,7 +1245,7 @@ static int set_serial_info(struct tty_struct *tty,
                        return -EPERM;
                }
        }
-       port->port.close_delay = ss->close_delay * HZ / 100;
+       port->port.close_delay = msecs_to_jiffies(ss->close_delay * 10);
        mutex_unlock(&port->port.mutex);
 
        return 0;