Messages in this thread | | | Date | Wed, 7 Jul 2004 18:31:03 +0200 | From | Vojtech Pavlik <> | Subject | Re: 2.6.7-mm6 |
| |
On Wed, Jul 07, 2004 at 12:15:37AM -0500, Dmitry Torokhov wrote: > The only suspicious thing that I see is that sunzilog tries to register its > serio ports with spinlock held and interrupts off. I wonder if that is what > causing a deadlock. Could you please try applying this patch on top of the > changes to the drivers/Makefile that I sent earlier.
Shall I add this to my BK then?
> -- > Dmitry > > > ===== drivers/serial/sunzilog.c 1.44 vs edited ===== > --- 1.44/drivers/serial/sunzilog.c 2004-06-28 22:45:23 -05:00 > +++ edited/drivers/serial/sunzilog.c 2004-07-06 23:46:54 -05:00 > @@ -1529,7 +1529,6 @@ > static void __init sunzilog_init_kbdms(struct uart_sunzilog_port *up, int channel) > { > int baud, brg; > - struct serio *serio; > > if (channel == KEYBOARD_LINE) { > up->flags |= SUNZILOG_FLAG_CONS_KEYB; > @@ -1546,8 +1545,15 @@ > up->curregs[R15] = BRKIE; > brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR); > sunzilog_convert_to_zs(up, up->cflag, 0, brg); > + sunzilog_set_mctrl(&up->port, TIOCM_DTR | TIOCM_RTS); > + __sunzilog_startup(up); > +} > > #ifdef CONFIG_SERIO > +static void __init sunzilog_register_serio(struct uart_sunzilog_port *up, int channel) > +{ > + struct serio *serio; > + > up->serio = serio = kmalloc(sizeof(struct serio), GFP_KERNEL); > if (serio) { > > @@ -1576,11 +1582,8 @@ > printk(KERN_WARNING "zs%d: not enough memory for serio port\n", > channel); > } > -#endif > - > - sunzilog_set_mctrl(&up->port, TIOCM_DTR | TIOCM_RTS); > - __sunzilog_startup(up); > } > +#endif > > static void __init sunzilog_init_hw(void) > { > @@ -1624,6 +1627,11 @@ > } > > spin_unlock_irqrestore(&up->port.lock, flags); > + > +#ifdef CONFIG_SERIO > + if (i == KEYBOARD_LINE || i == MOUSE_LINE) > + sunzilog_register_serio(up, i); > +#endif > } > } > > - > 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/ >
-- Vojtech Pavlik SuSE Labs, SuSE CR - 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/
| |