summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_isr.c
diff options
context:
space:
mode:
authorSawan Chandak <sawan.chandak@qlogic.com>2015-04-09 15:00:06 -0400
committerJames Bottomley <JBottomley@Odin.com>2015-04-10 08:42:58 -0700
commitded6411fd88267510dcee6d6c29cfd0bd82d4f0e (patch)
tree3dd1aa9a733cdb0d71bbd2bce5b20d95275d7e4b /drivers/scsi/qla2xxx/qla_isr.c
parente8fb1250ba5898c6c53e0063bbdcc9cadd580797 (diff)
downloadblackbird-op-linux-ded6411fd88267510dcee6d6c29cfd0bd82d4f0e.tar.gz
blackbird-op-linux-ded6411fd88267510dcee6d6c29cfd0bd82d4f0e.zip
qla2xxx: Fix virtual port configuration, when switch port is disabled/enabled.
On some vendor switches, when switch port is toggled (down /up), then in some condition driver tries to configure virtual port, before FW is actually in ready state to process any commands on wire. At this time, configuring virtual port can fail. Add fix in driver to make driver wait, for FW to be ready state before Signed-off-by: Sawan Chandak <sawan.chandak@qlogic.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index a04a1b1f7f32..72dfbc162856 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -763,6 +763,7 @@ skip_rio:
memcpy(vha->port_name, wwpn, WWN_SIZE);
}
+ clear_bit(VP_CONFIG_OK, &vha->vp_flags);
vha->device_flags |= DFLG_NO_CABLE;
qla2x00_mark_all_devices_lost(vha, 1);
}
@@ -947,6 +948,7 @@ skip_rio:
set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
+ set_bit(VP_CONFIG_OK, &vha->vp_flags);
qlt_async_event(mb[0], vha, mb);
break;
OpenPOWER on IntegriCloud