Commit dfb9afb6 authored by Jiri Slaby's avatar Jiri Slaby Committed by Greg Kroah-Hartman
Browse files

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 157b9394 (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: default avatarJiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20220503063122.20957-12-jslaby@suse.cz


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fe36fa18
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;