AMD IOMMU: add device reference counting for protection domains
[safe/jmp/linux-2.6] / arch / x86 / kernel / amd_iommu.c
index 5c465c9..8b45bc4 100644 (file)
@@ -825,9 +825,10 @@ static void set_device_domain(struct amd_iommu *iommu,
                              u16 devid)
 {
        unsigned long flags;
-
        u64 pte_root = virt_to_phys(domain->pt_root);
 
+       domain->dev_cnt += 1;
+
        pte_root |= (domain->mode & DEV_ENTRY_MODE_MASK)
                    << DEV_ENTRY_MODE_SHIFT;
        pte_root |= IOMMU_PTE_IR | IOMMU_PTE_IW | IOMMU_PTE_P | IOMMU_PTE_TV;