diff options
author | Mark Haverkamp <markh@osdl.org> | 2005-10-14 15:59:10 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-14 17:10:13 -0700 |
commit | 0e7734d3ca24302a513e69dd24a560c34047c038 (patch) | |
tree | 9770fd9af9a73c9aca8a6b16cbbd3071147d9474 /drivers | |
parent | 1350843cf0fa46e2f633c78b335777aac3d054b2 (diff) | |
download | op-kernel-dev-0e7734d3ca24302a513e69dd24a560c34047c038.zip op-kernel-dev-0e7734d3ca24302a513e69dd24a560c34047c038.tar.gz |
[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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index de8490a..a1f9cee 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); } |