• James Smart's avatar
    scsi: lpfc: Fix driver release of fw-logging buffers · 1165a5c2
    James Smart authored
    On driver termination, after the driver stops fw logging by writing a
    register on the chip, the driver immediately unmaps and frees the logging
    buffer, without confirming in any way that the chip has received the write
    and terminated the logging. As termination on the chip is not immediate,
    the chip may issue a dma request to the now unmapped dma buffer, resulting
    in a iommu fault.
    
    Change the driver to receive a confirmation that logging ahs been
    terminated. As the driver always issues an SLI reset with the device as
    part of shutdown, and as part of that is receiving confirmation that the
    reset is complete - the driver was modified to perform the write to disable
    fw logging prior to the SLI reset and only free the fw log buffer after the
    SLI reset is complete. That guarantees use of the fw log buffer is fully
    terminated when it is unmapped.
    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>
    1165a5c2
lpfc_sli.c 599 KB