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]

Reply via email to