linux/drivers/scsi/lpfc
James Smart 1165a5c220 scsi: lpfc: Fix driver release of fw-logging buffers
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: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-12-07 22:35:33 -05:00
..
lpfc_attr.c scsi: lpfc: Correct topology type reporting on G7 adapters 2018-12-07 22:35:33 -05:00
lpfc_attr.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_bsg.c scsi: lpfc: Fix driver release of fw-logging buffers 2018-12-07 22:35:33 -05:00
lpfc_bsg.h scsi: lpfc: add Trunking support 2018-11-06 20:42:51 -05:00
lpfc_compat.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_crtn.h scsi: lpfc: Fix driver release of fw-logging buffers 2018-12-07 22:35:33 -05:00
lpfc_ct.c scsi: lpfc: update manufacturer attribute to reflect Broadcom 2018-12-07 22:35:31 -05:00
lpfc_debugfs.c scsi: lpfc: Fix discovery failures during port failovers with lots of vports 2018-12-07 22:35:32 -05:00
lpfc_debugfs.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_disc.h scsi: lpfc: Fix discovery failures during port failovers with lots of vports 2018-12-07 22:35:32 -05:00
lpfc_els.c scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins 2018-12-07 22:35:32 -05:00
lpfc_hbadisc.c scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins 2018-12-07 22:35:32 -05:00
lpfc_hw4.h scsi: lpfc: add Trunking support 2018-11-06 20:42:51 -05:00
lpfc_hw.h scsi: lpfc: ls_rjt erroneus FLOGIs 2018-12-07 22:35:32 -05:00
lpfc_ids.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_init.c scsi: lpfc: Fix driver release of fw-logging buffers 2018-12-07 22:35:33 -05:00
lpfc_logmsg.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_mbox.c scsi: lpfc: Correct topology type reporting on G7 adapters 2018-12-07 22:35:33 -05:00
lpfc_mem.c scsi: lpfc: refactor mailbox structure context fields 2018-12-07 22:35:32 -05:00
lpfc_nl.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_nportdisc.c scsi: lpfc: Fix discovery failures during port failovers with lots of vports 2018-12-07 22:35:32 -05:00
lpfc_nvme.c scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE 2018-12-07 22:35:32 -05:00
lpfc_nvme.h scsi: lpfc: Limit tracking of tgt queue depth in fast path 2018-08-02 15:45:19 -04:00
lpfc_nvmet.c scsi: lpfc: Fix errors in log messages. 2018-09-11 20:37:33 -04:00
lpfc_nvmet.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_scsi.c scsi: lpfc: Fix a duplicate 0711 log message number. 2018-12-07 22:35:32 -05:00
lpfc_scsi.h scsi: lpfc: add Trunking support 2018-11-06 20:42:51 -05:00
lpfc_sli4.h scsi: lpfc: add Trunking support 2018-11-06 20:42:51 -05:00
lpfc_sli.c scsi: lpfc: Fix driver release of fw-logging buffers 2018-12-07 22:35:33 -05:00
lpfc_sli.h scsi: lpfc: refactor mailbox structure context fields 2018-12-07 22:35:32 -05:00
lpfc_version.h scsi: lpfc: update driver version to 12.0.0.8 2018-11-06 20:42:51 -05:00
lpfc_vport.c scsi: lpfc: refactor mailbox structure context fields 2018-12-07 22:35:32 -05:00
lpfc_vport.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc.h scsi: lpfc: Defer LS_ACC to FLOGI on point to point logins 2018-12-07 22:35:32 -05:00
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00