|
@@ -93,6 +93,8 @@ static void free_pdev(struct xen_pcibk_device *pdev)
|
|
|
|
|
|
xen_pcibk_disconnect(pdev);
|
|
|
|
|
|
+ /* N.B. This calls pcistub_put_pci_dev which does the FLR on all
|
|
|
+ * of the PCIe devices. */
|
|
|
xen_pcibk_release_devices(pdev);
|
|
|
|
|
|
dev_set_drvdata(&pdev->xdev->dev, NULL);
|
|
@@ -286,6 +288,8 @@ static int xen_pcibk_remove_device(struct xen_pcibk_device *pdev,
|
|
|
dev_dbg(&dev->dev, "unregistering for %d\n", pdev->xdev->otherend_id);
|
|
|
xen_unregister_device_domain_owner(dev);
|
|
|
|
|
|
+ /* N.B. This ends up calling pcistub_put_pci_dev which ends up
|
|
|
+ * doing the FLR. */
|
|
|
xen_pcibk_release_pci_dev(pdev, dev);
|
|
|
|
|
|
out:
|