On 01/24/2018 11:45 PM, James Smart wrote: > The lpfc driver does not discover a target when the topology > changes from switched-fabric to direct-connect. The target > rejects the PRLI from the initiator in direct-connect as the > driver is using the old S_ID from the switched topology. > > The driver was inappropriately clearing the VP bit to register the > VPI, which is what is associated with the S_ID. > > Fix by leaving the VP bit set (it was set earlier) and as the VFI > is being re-registered, set the UPDT bit. > > Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxxxx> > --- > drivers/scsi/lpfc/lpfc_mbox.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c > index 81fb92967b11..c32d4a323db2 100644 > --- a/drivers/scsi/lpfc/lpfc_mbox.c > +++ b/drivers/scsi/lpfc/lpfc_mbox.c > @@ -2170,10 +2170,8 @@ lpfc_reg_vfi(struct lpfcMboxq *mbox, struct lpfc_vport *vport, dma_addr_t phys) > /* Only FC supports upd bit */ > if ((phba->sli4_hba.lnk_info.lnk_tp == LPFC_LNK_TYPE_FC) && > (vport->fc_flag & FC_VFI_REGISTERED) && > - (!phba->fc_topology_changed)) { > - bf_set(lpfc_reg_vfi_vp, reg_vfi, 0); > + (!phba->fc_topology_changed)) > bf_set(lpfc_reg_vfi_upd, reg_vfi, 1); > - } > > bf_set(lpfc_reg_vfi_bbcr, reg_vfi, 0); > bf_set(lpfc_reg_vfi_bbscn, reg_vfi, 0); > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg)