Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5ce0abe authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by Martin K. Petersen
Browse files

scsi: sas: move scsi_remove_host call into sas_remove_host



Move scsi_remove_host call into sas_remove_host and remove it from SAS
HBA drivers, so we don't mess up the ordering. This solves an issue with
double deleting sysfs entries that was introduced by the change of sysfs
behaviour from commit bcdde7e2 ("sysfs: make __sysfs_remove_dir()
recursive").

[mkp: addressed checkpatch complaints]

Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Suggested-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: James Bottomley <jejb@linux.vnet.ibm.com>
Cc: Jinpu Wang <jinpu.wang@profitbricks.com>
Cc: John Garry <john.garry@huawei.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJinpu Wang <jinpu.wang@profitbricks.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 20961065
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -703,7 +703,6 @@ static int asd_unregister_sas_ha(struct asd_ha_struct *asd_ha)
{
	int err;

	scsi_remove_host(asd_ha->sas_ha.core.shost);
	err = sas_unregister_ha(&asd_ha->sas_ha);

	sas_remove_host(asd_ha->sas_ha.core.shost);
+0 −1
Original line number Diff line number Diff line
@@ -1787,7 +1787,6 @@ int hisi_sas_remove(struct platform_device *pdev)
	struct hisi_hba *hisi_hba = sha->lldd_ha;
	struct Scsi_Host *shost = sha->core.shost;

	scsi_remove_host(sha->core.shost);
	sas_unregister_ha(sha);
	sas_remove_host(sha->core.shost);

+0 −1
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ static void isci_unregister(struct isci_host *isci_host)
		return;

	shost = to_shost(isci_host);
	scsi_remove_host(shost);
	sas_unregister_ha(&isci_host->sas_ha);

	sas_remove_host(shost);
+0 −1
Original line number Diff line number Diff line
@@ -8298,7 +8298,6 @@ static void scsih_remove(struct pci_dev *pdev)
	}

	sas_remove_host(shost);
	scsi_remove_host(shost);
	mpt3sas_base_detach(ioc);
	spin_lock(&gioc_lock);
	list_del(&ioc->list);
+0 −1
Original line number Diff line number Diff line
@@ -642,7 +642,6 @@ static void mvs_pci_remove(struct pci_dev *pdev)
	tasklet_kill(&((struct mvs_prv_info *)sha->lldd_ha)->mv_tasklet);
#endif

	scsi_remove_host(mvi->shost);
	sas_unregister_ha(sha);
	sas_remove_host(mvi->shost);

Loading