[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: PortA Interrupt Handling

I tried your method, but it also failed.

It works when PortA is low the first time mod_timer fires:
The init routine calls init_timer and registers the poll function.
The IRQ fires, it disables the IRQ, and calls mod_timer()
the mod_timer call reads PortA, finds it low and reenables interrupts

When mod_timer find PortA still high, it calls mod_timer again.
The board hangs, and eventually I get a watchdog timer reset (I think)
I cannot see my debug statements, but when I take out the mod_timer renew
call, all works well.

I think it must be the same underlying problem, as the kernal seems to go to
sleep and not do its watchdog thing.