From: Zoltan B. <zb...@fr...> - 2004-04-29 04:51:58
|
Arne Georg Gleditsch =EDrta: > * Zoltan Boszormenyi >=20 >>do your Num/Caps/Scroll Lock leds work? The keys themselves do >>but the led states aren't changing. (2.6.6-rc2-mm1-ruby) >=20 >=20 > Ah, no, they don't. Not surprising, perhaps, since set_leds was > calling tasklet_schedule before the tasklet lists were assigned to I don't really get this. This is in linux-2.6.5/init/main.c : -------------from line 477 ------------- init_timers(); softirq_init(); time_init(); =20 /* * HACK ALERT! This is early. We're enabling the console before * we've done PCI setups etc, and console_init() must be aware o= f * this. But we do want output early, in case something goes wro= ng. */ console_init(); if (panic_later) panic(panic_later, panic_param); ---------------------------------------- So the softirq_init() is already run before console_init() that goes this way (back trace): Call Trace: [<c0120432>] __tasklet_schedule+0x92/0xb0 [<c01e7af1>] vte_ris+0x181/0x190 [<c01edbe5>] vc_init+0x45/0x60 [<c021770c>] vgacon_init+0x8c/0xc0 [<c01edd93>] vc_allocate+0x123/0x1f0 [<c01ef195>] vt_map_display+0x145/0x1c0 [<c036ef0a>] vga_console_init+0x3a/0xb0 [<c01088ba>] setup_irq+0x8a/0xf0 [<c036ab63>] console_init+0x23/0x30 > NULL. I just commented out the two lines that were originally BUG_ON, > now the leds work again. I suppose there's an ordering problem here, > if the lists are not really allowed to be appended to before the > softirq-stuff runs. But softirq_init() was already done. Rusty, could it be the BUG_ON() calls are bogus? Best regards, Zolt=E1n B=F6sz=F6rm=E9nyi |