The patch titled
     8250: fix possible deadlock between serial8250_handle_port() and 
serial8250_interrupt()
has been removed from the -mm tree.  Its filename was
     
8250-fix-possible-deadlock-between-serial8250_handle_port-and-serial8250_interrupt.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: 8250: fix possible deadlock between serial8250_handle_port() and 
serial8250_interrupt()
From: Jiri Kosina <[EMAIL PROTECTED]>

Commit 40b36daa introduced possibility that serial8250_backup_timeout() ->
serial8250_handle_port() locks port.lock without disabling irqs, thus
allowing deadlock against interrupt handler (port.lock is acquired in
serial8250_interrupt()).

Spotted by lockdep.

Signed-off-by: Jiri Kosina <[EMAIL PROTECTED]>
Cc: Dave Jones <[EMAIL PROTECTED]>
Cc: Russell King <[EMAIL PROTECTED]>
Cc: Alex Williamson <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/serial/8250.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff -puN 
drivers/serial/8250.c~8250-fix-possible-deadlock-between-serial8250_handle_port-and-serial8250_interrupt
 drivers/serial/8250.c
--- 
a/drivers/serial/8250.c~8250-fix-possible-deadlock-between-serial8250_handle_port-and-serial8250_interrupt
+++ a/drivers/serial/8250.c
@@ -1334,8 +1334,9 @@ static inline void
 serial8250_handle_port(struct uart_8250_port *up)
 {
        unsigned int status;
+       unsigned long flags;
 
-       spin_lock(&up->port.lock);
+       spin_lock_irqsave(&up->port.lock, flags);
 
        status = serial_inp(up, UART_LSR);
 
@@ -1347,7 +1348,7 @@ serial8250_handle_port(struct uart_8250_
        if (status & UART_LSR_THRE)
                transmit_chars(up);
 
-       spin_unlock(&up->port.lock);
+       spin_unlock_irqrestore(&up->port.lock, flags);
 }
 
 /*
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

origin.patch
git-hid.patch
git-ipwireless_cs.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to