diff options
author | Johan Hovold <[email protected]> | 2021-07-14 10:04:27 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2021-07-21 12:53:26 +0200 |
commit | 853a9ae29e978d37f5dfa72622a68c9ae3d7fa89 (patch) | |
tree | c3f2b62c6447e6b7fae006107281233aa99dfcce /drivers/fpga/fpga-region.c | |
parent | cc9ca4d95846cbbece48d9cd385550f8fba6a3c1 (diff) |
serial: 8250: fix handle_irq locking
The 8250 handle_irq callback is not just called from the interrupt
handler but also from a timer callback when polling (e.g. for ports
without an interrupt line). Consequently the callback must explicitly
disable interrupts to avoid a potential deadlock with another interrupt
in polled mode.
Add back an irqrestore-version of the sysrq port-unlock helper and use
it in the 8250 callbacks that need it.
Fixes: 75f4e830fa9c ("serial: do not restore interrupt state in sysrq helper")
Cc: [email protected] # 5.13
Cc: Joel Stanley <[email protected]>
Cc: Andrew Jeffery <[email protected]>
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/fpga/fpga-region.c')
0 files changed, 0 insertions, 0 deletions