• James Smart's avatar
    nvme-fc: correct csn initialization and increments on error · 67f471b6
    James Smart authored
    This patch fixes a long-standing bug that initialized the FC-NVME
    cmnd iu CSN value to 1. Early FC-NVME specs had the connection starting
    with CSN=1. By the time the spec reached approval, the language had
    changed to state a connection should start with CSN=0.  This patch
    corrects the initialization value for FC-NVME connections.
    
    Additionally, in reviewing the transport, the CSN value is assigned to
    the new IU early in the start routine. It's possible that a later dma
    map request may fail, causing the command to never be sent to the
    controller.  Change the location of the assignment so that it is
    immediately prior to calling the lldd. Add a comment block to explain
    the impacts if the lldd were to additionally fail sending the command.
    Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
    Reviewed-by: default avatarEwan D. Milne <emilne@redhat.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    67f471b6
fc.c 91.7 KB