summaryrefslogtreecommitdiffstats
path: root/drivers/xen/xen-pciback/pci_stub.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-01-04 21:11:02 +0100
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-01-08 02:35:56 +0100
commit3167355801505886209374daf86a452034e34ee8 (patch)
treeb8749f0b98b4a60a940d5f55292745134ec71a12 /drivers/xen/xen-pciback/pci_stub.c
parentxen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the "[un|]bind" (diff)
downloadlinux-3167355801505886209374daf86a452034e34ee8.tar.xz
linux-3167355801505886209374daf86a452034e34ee8.zip
xen/pciback: Fix "device has been assigned to X domain!" warning
The full warning is: "pciback 0000:05:00.0: device has been assigned to 2 domain! Over-writting the ownership, but beware." which is correct - the previous domain that was using the device forgot to unregister the ownership. This patch fixes this by calling the unregister ownership function when the PCI device is relinquished from the guest domain. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/xen/xen-pciback/pci_stub.c')
-rw-r--r--drivers/xen/xen-pciback/pci_stub.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 405445965690..7944a17f5cbf 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -235,6 +235,8 @@ void pcistub_put_pci_dev(struct pci_dev *dev)
xen_pcibk_config_free_dyn_fields(found_psdev->dev);
xen_pcibk_config_reset_dev(found_psdev->dev);
+ xen_unregister_device_domain_owner(found_psdev->dev);
+
spin_lock_irqsave(&found_psdev->lock, flags);
found_psdev->pdev = NULL;
spin_unlock_irqrestore(&found_psdev->lock, flags);