mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
[SCSI] lpfc 8.3.31: Fix bug with driver unload leaving a scsi host for a vport around
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
18b8ba6cfb
commit
587a37f6e0
1 changed files with 8 additions and 2 deletions
|
@ -8694,8 +8694,11 @@ lpfc_pci_remove_one_s3(struct pci_dev *pdev)
|
||||||
/* Release all the vports against this physical port */
|
/* Release all the vports against this physical port */
|
||||||
vports = lpfc_create_vport_work_array(phba);
|
vports = lpfc_create_vport_work_array(phba);
|
||||||
if (vports != NULL)
|
if (vports != NULL)
|
||||||
for (i = 1; i <= phba->max_vports && vports[i] != NULL; i++)
|
for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
|
||||||
|
if (vports[i]->port_type == LPFC_PHYSICAL_PORT)
|
||||||
|
continue;
|
||||||
fc_vport_terminate(vports[i]->fc_vport);
|
fc_vport_terminate(vports[i]->fc_vport);
|
||||||
|
}
|
||||||
lpfc_destroy_vport_work_array(phba, vports);
|
lpfc_destroy_vport_work_array(phba, vports);
|
||||||
|
|
||||||
/* Remove FC host and then SCSI host with the physical port */
|
/* Remove FC host and then SCSI host with the physical port */
|
||||||
|
@ -9455,8 +9458,11 @@ lpfc_pci_remove_one_s4(struct pci_dev *pdev)
|
||||||
/* Release all the vports against this physical port */
|
/* Release all the vports against this physical port */
|
||||||
vports = lpfc_create_vport_work_array(phba);
|
vports = lpfc_create_vport_work_array(phba);
|
||||||
if (vports != NULL)
|
if (vports != NULL)
|
||||||
for (i = 1; i <= phba->max_vports && vports[i] != NULL; i++)
|
for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
|
||||||
|
if (vports[i]->port_type == LPFC_PHYSICAL_PORT)
|
||||||
|
continue;
|
||||||
fc_vport_terminate(vports[i]->fc_vport);
|
fc_vport_terminate(vports[i]->fc_vport);
|
||||||
|
}
|
||||||
lpfc_destroy_vport_work_array(phba, vports);
|
lpfc_destroy_vport_work_array(phba, vports);
|
||||||
|
|
||||||
/* Remove FC host and then SCSI host with the physical port */
|
/* Remove FC host and then SCSI host with the physical port */
|
||||||
|
|
Loading…
Add table
Reference in a new issue