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 <[email protected]>
> Signed-off-by: James Smart <[email protected]>
> ---
>  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 <[email protected]>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Teamlead Storage & Networking
[email protected]                                   +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)

Reply via email to