summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Haverkamp <markh@osdl.org>2005-10-15 00:59:10 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-15 02:10:13 +0200
commit0e7734d3ca24302a513e69dd24a560c34047c038 (patch)
tree9770fd9af9a73c9aca8a6b16cbbd3071147d9474
parent[PATCH] ppc64: Fix G5 model in /proc/cpuinfo (diff)
downloadlinux-0e7734d3ca24302a513e69dd24a560c34047c038.tar.xz
linux-0e7734d3ca24302a513e69dd24a560c34047c038.zip
[PATCH] aacraid: host_lock not released fix
While doing some testing of error cases I ran into this bug. In some cases the reset handler can exit with the host_lock still held. Signed-off-by: Mark Haverkamp <markh@osdl.org> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/scsi/aacraid/linit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index de8490a92831..a1f9ceef0ac9 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -453,9 +453,9 @@ static int aac_eh_reset(struct scsi_cmnd* cmd)
/*
* We can exit If all the commands are complete
*/
+ spin_unlock_irq(host->host_lock);
if (active == 0)
return SUCCESS;
- spin_unlock_irq(host->host_lock);
ssleep(1);
spin_lock_irq(host->host_lock);
}