aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.h
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2013-01-31 00:45:08 -0500
committerJames Bottomley <JBottomley@Parallels.com>2013-02-24 03:24:48 -0500
commitbfae7820b87c61c5065338b55405b304d9890085 (patch)
tree91a44896815ff906ed424c2fcbd5dd15ac87f86f /drivers/scsi/ipr.h
parent4d7007b49d523d8f954ae047118d82c130f673ce (diff)
[SCSI] ipr: Fix oops while resetting an ipr adapter
When resetting an ipr adapter, we use scsi_block_requests to block any new commands from scsi core, and then unblock after the reset. When hotplug removing an adapter, we shut it down and go through this same code, but we've seen issues with scsi_unblock_requests running after the adapter's memory has been freed. There is really no need to block/unblock when the adapter is being removed, so this patch skips the block/unblock and will immediately fail any commands that happen to make it to queuecommand while the adapter is being shutdown. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/ipr.h')
-rw-r--r--drivers/scsi/ipr.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index 1a9a246932ae..21a6ff1ed5c6 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -493,6 +493,7 @@ struct ipr_hrr_queue {
493 u8 allow_interrupts:1; 493 u8 allow_interrupts:1;
494 u8 ioa_is_dead:1; 494 u8 ioa_is_dead:1;
495 u8 allow_cmds:1; 495 u8 allow_cmds:1;
496 u8 removing_ioa:1;
496 497
497 struct blk_iopoll iopoll; 498 struct blk_iopoll iopoll;
498}; 499};