mxser: access info->MCR under info->slock
authorJiri Slaby <jslaby@suse.cz>
Fri, 18 Jun 2021 06:15:09 +0000 (08:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jun 2021 11:10:03 +0000 (13:10 +0200)
info->MCR is protected by info->slock all over the code. Extend the lock
in mxser_tiocmget around the info->MCR fetch too.

It likely doesn't change anything, but it's always good to be consistent.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210618061516.662-64-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/mxser.c

index 54b9a9c7c9e9788a4c759194e60e0810f5786382..5dd1214508135351222517090857c6415d1bfb41 100644 (file)
@@ -1162,13 +1162,13 @@ static int mxser_tiocmget(struct tty_struct *tty)
        if (tty_io_error(tty))
                return -EIO;
 
-       control = info->MCR;
-
        spin_lock_irqsave(&info->slock, flags);
+       control = info->MCR;
        status = inb(info->ioaddr + UART_MSR);
        if (status & UART_MSR_ANY_DELTA)
                mxser_check_modem_status(tty, info, status);
        spin_unlock_irqrestore(&info->slock, flags);
+
        return ((control & UART_MCR_RTS) ? TIOCM_RTS : 0) |
                    ((control & UART_MCR_DTR) ? TIOCM_DTR : 0) |
                    ((status & UART_MSR_DCD) ? TIOCM_CAR : 0) |