diff options
author | Mark Haverkamp <markh@osdl.org> | 2005-10-14 18:59:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-14 20:10:13 -0400 |
commit | 0e7734d3ca24302a513e69dd24a560c34047c038 (patch) | |
tree | 9770fd9af9a73c9aca8a6b16cbbd3071147d9474 /drivers/scsi/aacraid | |
parent | 1350843cf0fa46e2f633c78b335777aac3d054b2 (diff) |
[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/scsi/aacraid')
-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 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) | |||
453 | /* | 453 | /* |
454 | * We can exit If all the commands are complete | 454 | * We can exit If all the commands are complete |
455 | */ | 455 | */ |
456 | spin_unlock_irq(host->host_lock); | ||
456 | if (active == 0) | 457 | if (active == 0) |
457 | return SUCCESS; | 458 | return SUCCESS; |
458 | spin_unlock_irq(host->host_lock); | ||
459 | ssleep(1); | 459 | ssleep(1); |
460 | spin_lock_irq(host->host_lock); | 460 | spin_lock_irq(host->host_lock); |
461 | } | 461 | } |