8250.c: port.lock is irq-safe
authorBorislav Petkov <petkovbb@googlemail.com>
Wed, 30 Jul 2008 05:33:32 +0000 (22:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Jul 2008 16:41:45 +0000 (09:41 -0700)
commitc389d27b5e643d745f55ffb939b1426060ba63d4
treeaa7a4903fe58542a716a78e37d518d71727f9475
parent5def9a3a22e09c99717f41ab7f07ec9e1a1f3ec8
8250.c: port.lock is irq-safe

serial8250_startup() doesn't disable interrupts while taking the &up->port.lock
which might race against the interrupt handler serial8250_interrupt(), which
when entered, will deadlock waiting for the lock to be released.

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Tested-by: Ingo Molnar <mingo@elte.hu>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/serial/8250.c