linux/drivers/scsi/lpfc
James Smart 95f0ef8a83 scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure
The lpfc driver is calling get_device and put_device on scsi_fc_transport
device structure. When this code was removed, the driver triggered an oops
in "scsi_is_host_dev" when the first SCSI target was unregistered from the
transport.

The reason the calls were necessary is that the driver is calling
scsi_remove_host too early, before the target rports are unregistered and
the scsi devices disconnected from the scsi_host.  The fc_host was torn
down during fc_remove_host.

Fix by moving the lpfc_pci_remove_one_s3/s4 calls to scsi_remove_host to
after the nodes are cleaned up.  Remove the get_device and put_device calls
and the supporting code.

Link: https://lore.kernel.org/r/20201115192646.12977-4-james.smart@broadcom.com
Co-developed-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2020-11-17 00:43:54 -05:00
..
lpfc_attr.c scsi: lpfc: Rework remote port ref counting and node freeing 2020-11-17 00:43:54 -05:00
lpfc_attr.h
lpfc_bsg.c scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_bsg.h scsi: lpfc: Allow applications to issue Common Set Features mailbox command 2020-07-02 23:06:40 -04:00
lpfc_compat.h
lpfc_crtn.h scsi: lpfc: Rework remote port ref counting and node freeing 2020-11-17 00:43:54 -05:00
lpfc_ct.c scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_debugfs.c scsi: lpfc: Rework remote port ref counting and node freeing 2020-11-17 00:43:54 -05:00
lpfc_debugfs.h scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI 2020-03-29 18:10:58 -04:00
lpfc_disc.h scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_els.c scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure 2020-11-17 00:43:54 -05:00
lpfc_hbadisc.c scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure 2020-11-17 00:43:54 -05:00
lpfc_hw4.h scsi: lpfc: Add FDMI Vendor MIB support 2020-10-26 21:42:39 -04:00
lpfc_hw.h scsi: lpfc: Reject CT request for MIB commands 2020-10-26 21:42:39 -04:00
lpfc_ids.h
lpfc_init.c scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure 2020-11-17 00:43:54 -05:00
lpfc_logmsg.h scsi: lpfc: Add an internal trace log buffer 2020-07-02 23:06:49 -04:00
lpfc_mbox.c scsi: lpfc: Fix a bunch of kerneldoc misdemeanors 2020-07-24 22:32:03 -04:00
lpfc_mem.c scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() 2020-10-26 21:42:38 -04:00
lpfc_nl.h
lpfc_nportdisc.c scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_nvme.c scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_nvme.h lpfc: nvmet: Add support for NVME LS request hosthandle 2020-05-09 16:18:34 -06:00
lpfc_nvmet.c scsi: lpfc: Rework remote port ref counting and node freeing 2020-11-17 00:43:54 -05:00
lpfc_scsi.c scsi: lpfc: Rework remote port ref counting and node freeing 2020-11-17 00:43:54 -05:00
lpfc_scsi.h scsi: lpfc: Update 12.2.0.0 file copyrights to 2019 2019-02-05 22:29:50 -05:00
lpfc_sli4.h scsi: lpfc: Add FDMI Vendor MIB support 2020-10-26 21:42:39 -04:00
lpfc_sli.c scsi: lpfc: Rework locations of ndlp reference taking 2020-11-17 00:43:54 -05:00
lpfc_sli.h scsi: lpfc: Make debugfs ktime stats generic for NVME and SCSI 2020-03-29 18:10:58 -04:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.8.0.5 2020-10-26 21:42:39 -04:00
lpfc_vport.c scsi: lpfc: Fix removal of SCSI transport device get and put on dev structure 2020-11-17 00:43:54 -05:00
lpfc_vport.h
lpfc.h scsi: lpfc: Add FDMI Vendor MIB support 2020-10-26 21:42:39 -04:00
Makefile