summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Haverkamp <markh@osdl.org>2005-10-14 15:59:10 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-14 17:10:13 -0700
commit0e7734d3ca24302a513e69dd24a560c34047c038 (patch)
tree9770fd9af9a73c9aca8a6b16cbbd3071147d9474
parent1350843cf0fa46e2f633c78b335777aac3d054b2 (diff)
downloadlinux-stable-0e7734d3ca24302a513e69dd24a560c34047c038.tar.gz
linux-stable-0e7734d3ca24302a513e69dd24a560c34047c038.tar.bz2
linux-stable-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);
}