summaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2022-05-03 08:31:22 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-05 22:39:20 +0200
commitdfb9afb6c0e7af7c381c88d72d6d9c64268c160f (patch)
tree46692fd1ee892771ab891f56e4f9801472461819 /drivers/tty
parentfe36fa18ca77ca3ca9f90aab6cf39031416e432b (diff)
downloadlinux-dfb9afb6c0e7af7c381c88d72d6d9c64268c160f.tar.gz
linux-dfb9afb6c0e7af7c381c88d72d6d9c64268c160f.tar.bz2
linux-dfb9afb6c0e7af7c381c88d72d6d9c64268c160f.zip
serial: pic32: restore disabled irqs in pic32_uart_startup()
pic32_uart_startup() disables interrupts by local_irq_save(). But the function never enables them. The serial core only holds a mutex, so irqs are not restored. So how could this driver work? This irq handling was already present in the driver's initial commit 157b9394709ed (serial: pic32_uart: Add PIC32 UART driver). So is it a candidate for removal? Anyone has a contact to the author: Andrei Pistirica (I believe the one below -- @microchip.com -- will bounce)? Or to someone else @microchip.com? Cc: Andrei Pistirica <andrei.pistirica@microchip.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20220503063122.20957-12-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/pic32_uart.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/serial/pic32_uart.c b/drivers/tty/serial/pic32_uart.c
index c5584628f8c4..b399aac530fe 100644
--- a/drivers/tty/serial/pic32_uart.c
+++ b/drivers/tty/serial/pic32_uart.c
@@ -564,6 +564,8 @@ static int pic32_uart_startup(struct uart_port *port)
/* enable all interrupts and eanable uart */
pic32_uart_en_and_unmask(port);
+ local_irq_restore(flags);
+
enable_irq(sport->irq_rx);
return 0;