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]>
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 7d70496..1c57583 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -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;
}
--
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html