• James Smart's avatar
    scsi: lpfc: Fix leak of ELS completions on adapter reset · 29601228
    James Smart authored
    If the adapter is reset while there are outstanding ELS's, subsequent
    reinitialization of the adapter will fail as it has not recovered all of
    the io contexts relative to the ELS's.
    
    If an ELS timed out or otherwise failed and an the ELS was attempted to be
    aborted (which changes the ELS completion context), in causes where the
    driver generates completions for the outstanding IO as the adapter would
    not due to being reset, the driver released only the ELS context and failed
    to release the abort context.  When the adapter went to reinit, as it had
    not received all of the contexts, it failed to reinit.
    
    Fix by having the ELS completion handler identify the driver-generated
    completion status and release the abort context.
    Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    29601228
lpfc_sli.c 617 KB