diff options
| -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 | ||
