aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_os.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 9c3a57fa5060..3f391698e1ce 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -1931,7 +1931,7 @@ qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha, int defer)
1931 scsi_qla_host_t *pha = to_qla_parent(ha); 1931 scsi_qla_host_t *pha = to_qla_parent(ha);
1932 1932
1933 list_for_each_entry(fcport, &pha->fcports, list) { 1933 list_for_each_entry(fcport, &pha->fcports, list) {
1934 if (ha->vp_idx != 0 && ha->vp_idx != fcport->vp_idx) 1934 if (ha->vp_idx != fcport->vp_idx)
1935 continue; 1935 continue;
1936 /* 1936 /*
1937 * No point in marking the device as lost, if the device is 1937 * No point in marking the device as lost, if the device is
@@ -1939,17 +1939,10 @@ qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha, int defer)
1939 */ 1939 */
1940 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD) 1940 if (atomic_read(&fcport->state) == FCS_DEVICE_DEAD)
1941 continue; 1941 continue;
1942 if (atomic_read(&fcport->state) == FCS_ONLINE) { 1942 if (atomic_read(&fcport->state) == FCS_ONLINE)
1943 if (defer) 1943 qla2x00_schedule_rport_del(ha, fcport, defer);
1944 qla2x00_schedule_rport_del(ha, fcport, defer);
1945 else if (ha->vp_idx == fcport->vp_idx)
1946 qla2x00_schedule_rport_del(ha, fcport, defer);
1947 }
1948 atomic_set(&fcport->state, FCS_DEVICE_LOST); 1944 atomic_set(&fcport->state, FCS_DEVICE_LOST);
1949 } 1945 }
1950
1951 if (defer)
1952 qla2xxx_wake_dpc(ha);
1953} 1946}
1954 1947
1955/* 1948/*