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 /drivers/scsi/lpfc | |
| 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>
Diffstat (limited to 'drivers/scsi/lpfc')
| -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; |
