Messages in this thread | | | Subject | Re: [PATCH -rt] buggy UART fix | From | Paul Fulghum <> | Date | Tue, 28 Feb 2006 15:26:26 -0600 |
| |
On Tue, 2006-02-28 at 21:40 +0100, Ingo Molnar wrote: > hm, i just got the deadlock below, most likely due to your serial fix. > (never got this before) It's not 100% reproducible - booted the kernel a > dozen times (with your patch applied, working on other stuff) before i > got this deadlock.
The original patch grabs the port.lock and then calls serial8250_handle_port() which grabs the lock again. Just remove the spin_lock/spin_unlock below.
+ /* + * If we have a buggy TX line, that doesn't + * notify us via iir that we need to transmit + * then force the call. + */ + if (!handled && (up->bugs & UART_BUG_TXEN)) { + spin_lock(&up->port.lock); + serial8250_handle_port(up, regs); + spin_unlock(&up->port.lock); + }
-- 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/
| |