>From looking at the driver, it isn't doing proper locking. The only
thing using spinlocks is the ISR itself... which is of little use since
the other side of the command queue'ing isn't locked. There are stubs
for non-ISR locks but the function are NOPs. If you do make the
functions call spinlocks the driver locks up on detection (my guess is
deadlocking on the spinlock). I'm not sure this is the real problem as
I'd expect kernel oops over poor resource contention.
Unless something has changed recently, the SCSI subsystem is already acquiring
the spinlock so the driver should not do so except in the interrupt handler.
The BusLogic driver was written so that if the SCSI mid layer ever stopped
doing locking or it was beneficial to have separare locks in the driver it
would be relatively easy.
Leonard
-
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/