Char: mxser_new, fix recursive locking

Signed-off-by: Jan "Yenya" Kasprzak <kas@fi.muni.cz>
Acked-by: Jiri Slaby <jirislaby@gmail.com>
Acked-by: 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>
This commit is contained in:
Jan Yenya Kasprzak 2007-04-23 14:41:02 -07:00 committed by Linus Torvalds
parent 3d124cbba3
commit 67d2bc58af
1 changed files with 7 additions and 0 deletions

View File

@ -2230,7 +2230,14 @@ static void mxser_receive_chars(struct mxser_port *port, int *status)
port->mon_data.rxcnt += cnt;
port->mon_data.up_rxcnt += cnt;
/*
* We are called from an interrupt context with &port->slock
* being held. Drop it temporarily in order to prevent
* recursive locking.
*/
spin_unlock(&port->slock);
tty_flip_buffer_push(tty);
spin_lock(&port->slock);
}
static void mxser_transmit_chars(struct mxser_port *port)