diff options
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 821384147a41..5529b2a39741 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -2020,6 +2020,11 @@ static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd) | |||
2020 | if (!ddb_entry) | 2020 | if (!ddb_entry) |
2021 | return ret; | 2021 | return ret; |
2022 | 2022 | ||
2023 | ret = iscsi_block_scsi_eh(cmd); | ||
2024 | if (ret) | ||
2025 | return ret; | ||
2026 | ret = FAILED; | ||
2027 | |||
2023 | ql4_printk(KERN_INFO, ha, | 2028 | ql4_printk(KERN_INFO, ha, |
2024 | "scsi%ld:%d:%d:%d: DEVICE RESET ISSUED.\n", ha->host_no, | 2029 | "scsi%ld:%d:%d:%d: DEVICE RESET ISSUED.\n", ha->host_no, |
2025 | cmd->device->channel, cmd->device->id, cmd->device->lun); | 2030 | cmd->device->channel, cmd->device->id, cmd->device->lun); |
@@ -2072,11 +2077,15 @@ static int qla4xxx_eh_target_reset(struct scsi_cmnd *cmd) | |||
2072 | { | 2077 | { |
2073 | struct scsi_qla_host *ha = to_qla_host(cmd->device->host); | 2078 | struct scsi_qla_host *ha = to_qla_host(cmd->device->host); |
2074 | struct ddb_entry *ddb_entry = cmd->device->hostdata; | 2079 | struct ddb_entry *ddb_entry = cmd->device->hostdata; |
2075 | int stat; | 2080 | int stat, ret; |
2076 | 2081 | ||
2077 | if (!ddb_entry) | 2082 | if (!ddb_entry) |
2078 | return FAILED; | 2083 | return FAILED; |
2079 | 2084 | ||
2085 | ret = iscsi_block_scsi_eh(cmd); | ||
2086 | if (ret) | ||
2087 | return ret; | ||
2088 | |||
2080 | starget_printk(KERN_INFO, scsi_target(cmd->device), | 2089 | starget_printk(KERN_INFO, scsi_target(cmd->device), |
2081 | "WARM TARGET RESET ISSUED.\n"); | 2090 | "WARM TARGET RESET ISSUED.\n"); |
2082 | 2091 | ||