mirror of https://gitee.com/openkylin/linux.git
scsi: lpfc: move placement of target destroy on driver detach
Ensure nvme localports/targetports are torn down before dismantling the adapter sli interface on driver detachment. This aids leaving interfaces live while nvme may be making callbacks to abort it. Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
c176ffa084
commit
281d61902f
|
@ -11503,13 +11503,6 @@ lpfc_pci_remove_one_s4(struct pci_dev *pdev)
|
|||
/* Remove FC host and then SCSI host with the physical port */
|
||||
fc_remove_host(shost);
|
||||
scsi_remove_host(shost);
|
||||
/*
|
||||
* Bring down the SLI Layer. This step disables all interrupts,
|
||||
* clears the rings, discards all mailbox commands, and resets
|
||||
* the HBA FCoE function.
|
||||
*/
|
||||
lpfc_debugfs_terminate(vport);
|
||||
lpfc_sli4_hba_unset(phba);
|
||||
|
||||
/* Perform ndlp cleanup on the physical port. The nvme and nvmet
|
||||
* localports are destroyed after to cleanup all transport memory.
|
||||
|
@ -11518,6 +11511,13 @@ lpfc_pci_remove_one_s4(struct pci_dev *pdev)
|
|||
lpfc_nvmet_destroy_targetport(phba);
|
||||
lpfc_nvme_destroy_localport(vport);
|
||||
|
||||
/*
|
||||
* Bring down the SLI Layer. This step disables all interrupts,
|
||||
* clears the rings, discards all mailbox commands, and resets
|
||||
* the HBA FCoE function.
|
||||
*/
|
||||
lpfc_debugfs_terminate(vport);
|
||||
lpfc_sli4_hba_unset(phba);
|
||||
|
||||
lpfc_stop_hba_timers(phba);
|
||||
spin_lock_irq(&phba->hbalock);
|
||||
|
|
Loading…
Reference in New Issue