Explorar o código

serial: sprd: Fix missing spin_unlock in sprd_handle_irq()

Fix return from sprd_handle_irq() with spin_lock held.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Axel Lin %!s(int64=10) %!d(string=hai) anos
pai
achega
c4e6dcfa00
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      drivers/tty/serial/sprd_serial.c

+ 3 - 1
drivers/tty/serial/sprd_serial.c

@@ -293,8 +293,10 @@ static irqreturn_t sprd_handle_irq(int irq, void *dev_id)
 
 
 	ims = serial_in(port, SPRD_IMSR);
 	ims = serial_in(port, SPRD_IMSR);
 
 
-	if (!ims)
+	if (!ims) {
+		spin_unlock(&port->lock);
 		return IRQ_NONE;
 		return IRQ_NONE;
+	}
 
 
 	serial_out(port, SPRD_ICLR, ~0);
 	serial_out(port, SPRD_ICLR, ~0);