intel-iommu: fix build error with INTR_REMAP=y and DMAR=n
authorJoerg Roedel <joerg.roedel@amd.com>
Sat, 3 Jan 2009 22:56:27 +0000 (23:56 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 9 Feb 2009 10:00:53 +0000 (10:00 +0000)
This fix should be safe since iommu->agaw is only used in intel-iommu.c.
And this file is only compiled with DMAR=y.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/pci/dmar.c

index f5a662a..2b4162d 100644 (file)
@@ -491,7 +491,7 @@ int alloc_iommu(struct dmar_drhd_unit *drhd)
        int map_size;
        u32 ver;
        static int iommu_allocated = 0;
-       int agaw;
+       int agaw = 0;
 
        iommu = kzalloc(sizeof(*iommu), GFP_KERNEL);
        if (!iommu)
@@ -507,6 +507,7 @@ int alloc_iommu(struct dmar_drhd_unit *drhd)
        iommu->cap = dmar_readq(iommu->reg + DMAR_CAP_REG);
        iommu->ecap = dmar_readq(iommu->reg + DMAR_ECAP_REG);
 
+#ifdef CONFIG_DMAR
        agaw = iommu_calculate_agaw(iommu);
        if (agaw < 0) {
                printk(KERN_ERR
@@ -514,6 +515,7 @@ int alloc_iommu(struct dmar_drhd_unit *drhd)
                        iommu->seq_id);
                goto error;
        }
+#endif
        iommu->agaw = agaw;
 
        /* the registers might be more than one page */