It just hit me (figuratively): are you allowing interrupts to occur
while the driver is still pondering about what to do in the mean time?
On level triggered interrupts (which you need to support shared
interrupts), wouldn't this create an interrupt loop?
(i.e. a new interrupt occurs before the driver has had a chance to
tell the hardware "yes, I'm looking into your problem".)
If I remember correctly, the symptoms are "hard lockup", most likely
the keyboard hotkeys won't work any more.
Regards,
Roger.
P.S. I'm in favor of allowing nesting in "dis/en-able " routines. This
way you can call a subroutine without having to know the innards
(wether or not it disables the interrupts itself), and you can call it
from two different environments (with the interrupts already off, or
with them still on), without having to worry too much.
-- If it's there and you can see it, it's REAL |___R.E.Wolff@BitWizard.nl | If it's there and you can't see it, it's TRANSPARENT | Tel: +31-15-2137555 | If it's not there and you can see it, it's VIRTUAL |__FAX:_+31-15-2138217 | If it's not there and you can't see it, it's GONE! -- Roy Wilks, 1983 |_____|- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu