fix cciss locking bug.
Subsystems (2)
do_cciss_intr takes the controller lock on entry, and if something goes wrong, it calls fail_all_cmds which tries to take the same lock.
Signed-off-by Dave Jones <[email protected]>
drivers/block/cciss.c +1 -0
@@ -2756,6 +2756,7 @@ static irqreturn_t do_cciss_intr(int irq, void *dev_id)printk (KERN_WARNING "cciss: controller cciss%d failed, stopping.\n" , h->ctlr); +spin_unlock_irqrestore (CCISS_LOCK (h->ctlr), flags);fail_all_cmds (h->ctlr);return IRQ_HANDLED ; }
Signature · 1 line
http://www.codemonkey.org.uk