aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-04-06 14:34:50 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-07 08:38:03 -0700
commit829f46af39d50a43e260adaa9e7bbdff74a9f696 (patch)
treef5ac404a4b92a6d5d54957ab5cb0736633ea79f7 /drivers/block
parentmxser: spin_lock() => spin_lock_irq() (diff)
downloadlinux-dev-829f46af39d50a43e260adaa9e7bbdff74a9f696.tar.xz
linux-dev-829f46af39d50a43e260adaa9e7bbdff74a9f696.zip
cciss: unlock on error path
We take the spin_lock again in fail_all_cmds() so we need to unlock here. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Steve Cameron <scameron@beardog.cce.hp.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/cciss.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 9e3af307aae1..eb5ff0531cfb 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -3341,6 +3341,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;
}