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

Commit 8b2a7e60 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

s390/pci: remove pdev during unplug



The disable slot implementation on s390 currently just detaches the
pci function from the partition - without informing the pci layer.
Fix this by calling pci_stop_and_remove_bus_device prior to the
operation.

Reviewed-by: default avatarGerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 4bee2a5d
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -236,7 +236,6 @@ int clp_disable_fh(struct zpci_dev *zdev)
	if (!zdev_enabled(zdev))
		return 0;

	dev_info(&zdev->pdev->dev, "disabling fn handle: 0x%x\n", fh);
	rc = clp_set_pci_fn(&fh, 0, CLP_SET_DISABLE_PCI_FN);
	if (!rc)
		/* Success -> store disabled handle in zdev */
+4 −3
Original line number Diff line number Diff line
@@ -99,12 +99,13 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
	if (!zpci_fn_configured(slot->zdev->state))
		return -EIO;

	if (slot->zdev->pdev)
		pci_stop_and_remove_bus_device(slot->zdev->pdev);

	rc = zpci_disable_device(slot->zdev);
	if (rc)
		return rc;
	/* TODO: we rely on the user to unbind/remove the device, is that plausible
	 *	 or do we need to trigger that here?
	 */

	return slot_deconfigure(slot);
}