summaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2024-03-02 00:45:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-03-03 00:06:22 +0300
commitf8ff23ebce8c305383c8070e1ea3b08a69eb1e8d (patch)
treeaec66d719b9c55e03649f126778b58443d49c299 /drivers/tty
parent09b8ff269401b2064afb5df42529bc18f6ad7d76 (diff)
downloadlinux-f8ff23ebce8c305383c8070e1ea3b08a69eb1e8d.tar.xz
serial: pch: Don't disable interrupts while acquiring lock in ISR.
The interrupt service routine is always invoked with disabled interrupts. Remove the _irqsave() from the locking functions in the interrupts service routine/ pch_uart_interrupt(). Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: https://lore.kernel.org/r/20240301215246.891055-16-bigeasy@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/pch_uart.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index 124eb816fca7..6e259f413915 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -1010,11 +1010,10 @@ static irqreturn_t pch_uart_interrupt(int irq, void *dev_id)
u8 lsr;
int ret = 0;
unsigned char iid;
- unsigned long flags;
int next = 1;
u8 msr;
- spin_lock_irqsave(&priv->lock, flags);
+ spin_lock(&priv->lock);
handled = 0;
while (next) {
iid = pch_uart_hal_get_iid(priv);
@@ -1074,7 +1073,7 @@ static irqreturn_t pch_uart_interrupt(int irq, void *dev_id)
handled |= (unsigned int)ret;
}
- spin_unlock_irqrestore(&priv->lock, flags);
+ spin_unlock(&priv->lock);
return IRQ_RETVAL(handled);
}