From dcd261ba58d7a49f4624b34b3bd2d535f63643a2 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Fri, 13 Jul 2012 17:45:49 +1000 Subject: [PATCH] powerpc/iommu: Fix iommu pool initialization The iommu pool patch has a bug where it would cause a crash when using only one pool (based on the size of the DMA window). Signed-off-by: Benjamin Herrenschmidt --- arch/powerpc/kernel/iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index fbefe72..ff5a6ce 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c @@ -676,9 +676,9 @@ struct iommu_table *iommu_init_table(struct iommu_table *tbl, int nid) tbl->nr_pools = 1; /* We reserve the top 1/4 of the table for large allocations */ - tbl->poolsize = (tbl->it_size * 3 / 4) / IOMMU_NR_POOLS; + tbl->poolsize = (tbl->it_size * 3 / 4) / tbl->nr_pools; - for (i = 0; i < IOMMU_NR_POOLS; i++) { + for (i = 0; i < tbl->nr_pools; i++) { p = &tbl->pools[i]; spin_lock_init(&(p->lock)); p->start = tbl->poolsize * i; -- 2.7.4