Le mercredi 31 août 2005 à 01:01 +0200, Johannes Berg a écrit : > On Fri, 2005-08-26 at 12:16 +0200, Stelian Pop wrote: > > > An initial working implementation (_with_ interrupts) is available at: > > http://www.popies.net/ams/ > > > Hmm. Just got > # insmod ./ams.ko > Aug 31 00:58:37 johannes kernel: Call trace: > Aug 31 00:58:37 johannes kernel: [c0053d50] __report_bad_irq+0x30/0xc0 > Aug 31 00:58:37 johannes kernel: [c0053ebc] note_interrupt+0xdc/0x2a0 > Aug 31 00:58:37 johannes kernel: [c00537d4] __do_IRQ+0x164/0x170 > Aug 31 00:58:37 johannes kernel: [c0006414] do_IRQ+0x44/0xa0 > Aug 31 00:58:37 johannes kernel: [c0004f70] ret_from_except+0x0/0x14 > Aug 31 00:58:37 johannes kernel: [c0006e0c] __delay+0xc/0x14 > Aug 31 00:58:37 johannes kernel: [f26a97f0] ams_attach+0xb0/0x2e0 [ams] > Aug 31 00:58:37 johannes kernel: [c01ef3e0] i2c_add_driver+0x120/0x180 > Aug 31 00:58:37 johannes kernel: [f263e23c] ams_init+0x23c/0x430 [ams] > Aug 31 00:58:37 johannes kernel: [c003d238] sys_init_module+0x178/0x340 > Aug 31 00:58:37 johannes kernel: [c0004800] ret_from_syscall+0x0/0x44 > Aug 31 00:58:37 johannes kernel: Disabling IRQ #57 > Aug 31 00:58:37 johannes kernel: Call trace: > Aug 31 00:58:37 johannes kernel: [c0053d50] __report_bad_irq+0x30/0xc0 > Aug 31 00:58:37 johannes kernel: [c0053ebc] note_interrupt+0xdc/0x2a0 > Aug 31 00:58:37 johannes kernel: [c00537d4] __do_IRQ+0x164/0x170 > Aug 31 00:58:37 johannes kernel: [c0006414] do_IRQ+0x44/0xa0 > Aug 31 00:58:37 johannes kernel: [c0004f70] ret_from_except+0x0/0x14 > Aug 31 00:58:37 johannes kernel: [c0006e0c] __delay+0xc/0x14 > Aug 31 00:58:37 johannes kernel: [f26a97f0] ams_attach+0xb0/0x2e0 [ams] > Aug 31 00:58:37 johannes kernel: [c01ef3e0] i2c_add_driver+0x120/0x180 > Aug 31 00:58:37 johannes kernel: [f263e23c] ams_init+0x23c/0x430 [ams] > Aug 31 00:58:37 johannes kernel: [c003d238] sys_init_module+0x178/0x340 > Aug 31 00:58:37 johannes kernel: [c0004800] ret_from_syscall+0x0/0x44 > Aug 31 00:58:37 johannes kernel: Disabling IRQ #58 > > > Cannot reproduce though, unloading and reloading fixed it.
Is this with 0.01 or 0.02 ? IIRC, in 0.01 the request_irq call was a bit late and there was a tiny time window when an interrupt could arrive before installing the handler, thus causing the above kind of oops. In the latest code, the request_irq() call is done very early, so this shouldn't happen again. Stelian. -- Stelian Pop <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]