Messages in this thread | | | Date | Fri, 07 Jan 2005 08:04:12 -0600 | From | Paul Fulghum <> | Subject | Re: [BUG][2.6.8.1] serial driver hangs SMP kernel, but not the UP kernel |
| |
Alan Cox wrote: > On Gwe, 2005-01-07 at 00:43, Paul Fulghum wrote: > >>IIRC that guarantees a deadlock on SMP due to the >>generic serial layer trying to grab a spinlock >>that is already held. (Which prompted the original >>bug report by Tim several months ago) > > > I fixed the tty locking issues with that. If there are any left they > should be solely in the serial generic code and I've no idea there
Yes, that is where the locking problems were. When I last looked at it the problem call path was:
serial8250_interrupt(); spin_lock(port->lock); serial8250_handle_port(); receive_chars(); flip.work.func(); /* if FLIP buffer full or low_latency set */ ldisc->receive_buf(); /* N_TTY */ tty->driver->flush_chars(); uart_start(); spin_lock(port->lock); *BANG*
-- Paul Fulghum Microgate Systems, Ltd
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |