From d95b3b7fbc13a473c78fd6e4140640cdc31cf8c3 Mon Sep 17 00:00:00 2001 From: Krishna Gudipati Date: Fri, 5 Mar 2010 19:35:16 -0800 Subject: [PATCH] --- yaml --- r: 188331 b: refs/heads/master c: 72041ed8fc8ed92c11af90949bab7b08f3e34fd3 h: refs/heads/master i: 188329: 5073345398f29f1ac07e04e20a152c21928d48d3 188327: ca1bea838f1aae47eab33e787f87f728828ddaca v: v3 --- [refs] | 2 +- trunk/drivers/scsi/bfa/rport.c | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 8dfbf0de751f..2025f4bfb561 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e641de37e67953fa9ecad72608942481a5d66a1d +refs/heads/master: 72041ed8fc8ed92c11af90949bab7b08f3e34fd3 diff --git a/trunk/drivers/scsi/bfa/rport.c b/trunk/drivers/scsi/bfa/rport.c index 32cf180ec791..80592e352226 100644 --- a/trunk/drivers/scsi/bfa/rport.c +++ b/trunk/drivers/scsi/bfa/rport.c @@ -925,10 +925,17 @@ bfa_fcs_rport_sm_hcb_offline(struct bfa_fcs_rport_s *rport, case RPSM_EVENT_HCB_OFFLINE: case RPSM_EVENT_ADDRESS_CHANGE: if (bfa_fcs_port_is_online(rport->port)) { - bfa_sm_set_state(rport, - bfa_fcs_rport_sm_nsdisc_sending); - rport->ns_retries = 0; - bfa_fcs_rport_send_gidpn(rport, NULL); + if (bfa_fcs_fabric_is_switched(rport->port->fabric)) { + bfa_sm_set_state(rport, + bfa_fcs_rport_sm_nsdisc_sending); + rport->ns_retries = 0; + bfa_fcs_rport_send_gidpn(rport, NULL); + } else { + bfa_sm_set_state(rport, + bfa_fcs_rport_sm_plogi_sending); + rport->plogi_retries = 0; + bfa_fcs_rport_send_plogi(rport, NULL); + } } else { rport->pid = 0; bfa_sm_set_state(rport, bfa_fcs_rport_sm_offline);