• James Smart's avatar
    Fix rejected nvme LS Req. · ba43c4d0
    James Smart authored
    In this case, the NVME initiator is sending an LS REQ command on an NDLP
    that is not MAPPED.  The FW rejects it.
    
    The lpfc_nvme_ls_req routine checks for a NULL ndlp pointer
    but does not check the NDLP state.  This allows the routine
    to send an LS IO when the ndlp is disconnected.
    
    Check the ndlp for NULL, actual node, Target and MAPPED
    or Initiator and UNMAPPED. This avoids Fabric nodes getting
    the Create Association or Create Connection commands.  Initiators
    are free to Reject either Create.
    Also some of the messages numbers in lpfc_nvme_ls_req were changed because
    they were already used in other log messages.
    Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
    Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
    ba43c4d0
lpfc_nvme.c 77.8 KB