diff options
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 83615e71fa0d..d01daa3866f8 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -1095,6 +1095,20 @@ qla2x00_loop_reset(scsi_qla_host_t *vha) | |||
1095 | struct fc_port *fcport; | 1095 | struct fc_port *fcport; |
1096 | struct qla_hw_data *ha = vha->hw; | 1096 | struct qla_hw_data *ha = vha->hw; |
1097 | 1097 | ||
1098 | if (ha->flags.enable_target_reset) { | ||
1099 | list_for_each_entry(fcport, &vha->vp_fcports, list) { | ||
1100 | if (fcport->port_type != FCT_TARGET) | ||
1101 | continue; | ||
1102 | |||
1103 | ret = ha->isp_ops->target_reset(fcport, 0, 0); | ||
1104 | if (ret != QLA_SUCCESS) { | ||
1105 | DEBUG2_3(printk("%s(%ld): bus_reset failed: " | ||
1106 | "target_reset=%d d_id=%x.\n", __func__, | ||
1107 | vha->host_no, ret, fcport->d_id.b24)); | ||
1108 | } | ||
1109 | } | ||
1110 | } | ||
1111 | |||
1098 | if (ha->flags.enable_lip_full_login && !IS_QLA81XX(ha)) { | 1112 | if (ha->flags.enable_lip_full_login && !IS_QLA81XX(ha)) { |
1099 | ret = qla2x00_full_login_lip(vha); | 1113 | ret = qla2x00_full_login_lip(vha); |
1100 | if (ret != QLA_SUCCESS) { | 1114 | if (ret != QLA_SUCCESS) { |
@@ -1117,19 +1131,6 @@ qla2x00_loop_reset(scsi_qla_host_t *vha) | |||
1117 | qla2x00_wait_for_loop_ready(vha); | 1131 | qla2x00_wait_for_loop_ready(vha); |
1118 | } | 1132 | } |
1119 | 1133 | ||
1120 | if (ha->flags.enable_target_reset) { | ||
1121 | list_for_each_entry(fcport, &vha->vp_fcports, list) { | ||
1122 | if (fcport->port_type != FCT_TARGET) | ||
1123 | continue; | ||
1124 | |||
1125 | ret = ha->isp_ops->target_reset(fcport, 0, 0); | ||
1126 | if (ret != QLA_SUCCESS) { | ||
1127 | DEBUG2_3(printk("%s(%ld): bus_reset failed: " | ||
1128 | "target_reset=%d d_id=%x.\n", __func__, | ||
1129 | vha->host_no, ret, fcport->d_id.b24)); | ||
1130 | } | ||
1131 | } | ||
1132 | } | ||
1133 | /* Issue marker command only when we are going to start the I/O */ | 1134 | /* Issue marker command only when we are going to start the I/O */ |
1134 | vha->marker_needed = 1; | 1135 | vha->marker_needed = 1; |
1135 | 1136 | ||