iommu/arm-smmu: Correct group reference count
[linux-2.6-block.git] / drivers / iommu / arm-smmu.c
index 47dc7a793f5cf070c50a2f2f98c15058582bb9ee..6ed169bcb39d5c6441920506adb59d15c10000d2 100644 (file)
@@ -945,9 +945,7 @@ static void arm_smmu_destroy_domain_context(struct iommu_domain *domain)
                free_irq(irq, domain);
        }
 
-       if (smmu_domain->pgtbl_ops)
-               free_io_pgtable_ops(smmu_domain->pgtbl_ops);
-
+       free_io_pgtable_ops(smmu_domain->pgtbl_ops);
        __arm_smmu_free_bitmap(smmu->context_map, cfg->cbndx);
 }
 
@@ -1357,6 +1355,7 @@ static int arm_smmu_add_device(struct device *dev)
        if (IS_ERR(group))
                return PTR_ERR(group);
 
+       iommu_group_put(group);
        return 0;
 }