The problem is that the code takes spinlocks recursively. The original
code (see 2.0's 5380 generic C code) uses cli/sti. It was converted to
use spin_lock() but not allowing for the recursive locking cases. I tried
to untangle the code paths but they are so ugly and some of the code is
sufficiently messy and unmaintained (for about 6 years) that I gave up
trying to decode it.
Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/