diff options
author | James Smart <james.smart@emulex.com> | 2015-04-07 15:07:12 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-04-10 10:46:08 -0400 |
commit | 85c0f177200b49cbed0f9c9ac67fe2656749f9cd (patch) | |
tree | 376b501e4b4916632810f2765428df586ae0e65b | |
parent | ed4afe7405f3839236fd34c7918204640c00e4e8 (diff) |
lpfc: Linux lpfc driver doesn't re-establish the link after a cable pull on LPe12002
Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 3 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 6 |
2 files changed, 3 insertions, 6 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index c66088d0fd2a..63505637a121 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -2243,8 +2243,7 @@ lpfc_adisc_done(struct lpfc_vport *vport) | |||
2243 | */ | 2243 | */ |
2244 | if (vport->port_state < LPFC_VPORT_READY) { | 2244 | if (vport->port_state < LPFC_VPORT_READY) { |
2245 | /* If we get here, there is nothing to ADISC */ | 2245 | /* If we get here, there is nothing to ADISC */ |
2246 | if (vport->port_type == LPFC_PHYSICAL_PORT) | 2246 | lpfc_issue_clear_la(phba, vport); |
2247 | lpfc_issue_clear_la(phba, vport); | ||
2248 | if (!(vport->fc_flag & FC_ABORT_DISCOVERY)) { | 2247 | if (!(vport->fc_flag & FC_ABORT_DISCOVERY)) { |
2249 | vport->num_disc_nodes = 0; | 2248 | vport->num_disc_nodes = 0; |
2250 | /* go thru NPR list, issue ELS PLOGIs */ | 2249 | /* go thru NPR list, issue ELS PLOGIs */ |
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 5452f1f4220e..b1ad1a068782 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -5070,8 +5070,7 @@ lpfc_disc_start(struct lpfc_vport *vport) | |||
5070 | !(vport->fc_flag & FC_PT2PT) && | 5070 | !(vport->fc_flag & FC_PT2PT) && |
5071 | !(vport->fc_flag & FC_RSCN_MODE) && | 5071 | !(vport->fc_flag & FC_RSCN_MODE) && |
5072 | (phba->sli_rev < LPFC_SLI_REV4)) { | 5072 | (phba->sli_rev < LPFC_SLI_REV4)) { |
5073 | if (vport->port_type == LPFC_PHYSICAL_PORT) | 5073 | lpfc_issue_clear_la(phba, vport); |
5074 | lpfc_issue_clear_la(phba, vport); | ||
5075 | lpfc_issue_reg_vpi(phba, vport); | 5074 | lpfc_issue_reg_vpi(phba, vport); |
5076 | return; | 5075 | return; |
5077 | } | 5076 | } |
@@ -5082,8 +5081,7 @@ lpfc_disc_start(struct lpfc_vport *vport) | |||
5082 | */ | 5081 | */ |
5083 | if (vport->port_state < LPFC_VPORT_READY && !clear_la_pending) { | 5082 | if (vport->port_state < LPFC_VPORT_READY && !clear_la_pending) { |
5084 | /* If we get here, there is nothing to ADISC */ | 5083 | /* If we get here, there is nothing to ADISC */ |
5085 | if (vport->port_type == LPFC_PHYSICAL_PORT) | 5084 | lpfc_issue_clear_la(phba, vport); |
5086 | lpfc_issue_clear_la(phba, vport); | ||
5087 | 5085 | ||
5088 | if (!(vport->fc_flag & FC_ABORT_DISCOVERY)) { | 5086 | if (!(vport->fc_flag & FC_ABORT_DISCOVERY)) { |
5089 | vport->num_disc_nodes = 0; | 5087 | vport->num_disc_nodes = 0; |