Ver código fonte

[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>
Mark Haverkamp 19 anos atrás
pai
commit
0e7734d3ca
1 arquivos alterados com 1 adições e 1 exclusões
  1. 1 1
      drivers/scsi/aacraid/linit.c

+ 1 - 1
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);
 	}