diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2013-01-30 23:45:08 -0600 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-02-24 08:24:48 +0000 |
commit | bfae7820b87c61c5065338b55405b304d9890085 (patch) | |
tree | 91a44896815ff906ed424c2fcbd5dd15ac87f86f /drivers/scsi/ipr.h | |
parent | 4d7007b49d523d8f954ae047118d82c130f673ce (diff) | |
download | linux-bfae7820b87c61c5065338b55405b304d9890085.tar.gz linux-bfae7820b87c61c5065338b55405b304d9890085.tar.bz2 linux-bfae7820b87c61c5065338b55405b304d9890085.zip |
[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.h | 1 |
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 { u8 allow_interrupts:1; u8 ioa_is_dead:1; u8 allow_cmds:1; + u8 removing_ioa:1; struct blk_iopoll iopoll; }; |