Ah, but I was talking about the much worse, but just as deadly (only
one CPU required):
grab_lock_irqsave()
if (error) {
/* Missing "spin_unlock_irqrestore" */
return;
}
[...]
irq_begins
grab_lock ()
The moral of YOUR story is to always use
spinlock_irqsave
which does the "cli ()" BEFORE grabbing the lock. (instead of thinking
that there is something that can be done with interrupts enabled, but
wiht the lock taken) right?
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* "I didn't say it was your fault. I said I was going to blame it on you."- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/