Upgrade to 4.4.50-rt62
[kvmfornfv.git] / kernel / drivers / iommu / dmar.c
index 3821c47..e913a93 100644 (file)
@@ -326,7 +326,9 @@ static int dmar_pci_bus_notifier(struct notifier_block *nb,
        struct pci_dev *pdev = to_pci_dev(data);
        struct dmar_pci_notify_info *info;
 
-       /* Only care about add/remove events for physical functions */
+       /* Only care about add/remove events for physical functions.
+        * For VFs we actually do the lookup based on the corresponding
+        * PF in device_to_iommu() anyway. */
        if (pdev->is_virtfn)
                return NOTIFY_DONE;
        if (action != BUS_NOTIFY_ADD_DEVICE &&
@@ -1858,10 +1860,11 @@ static int dmar_hp_remove_drhd(struct acpi_dmar_header *header, void *arg)
        /*
         * All PCI devices managed by this unit should have been destroyed.
         */
-       if (!dmaru->include_all && dmaru->devices && dmaru->devices_cnt)
+       if (!dmaru->include_all && dmaru->devices && dmaru->devices_cnt) {
                for_each_active_dev_scope(dmaru->devices,
                                          dmaru->devices_cnt, i, dev)
                        return -EBUSY;
+       }
 
        ret = dmar_ir_hotplug(dmaru, false);
        if (ret == 0)