Re: [PATCH v2] ppc/iommu: use find_first_bit to look up entries in the iommu table
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2013-01-29 00:36:38
On Thu, 2013-01-10 at 17:33 -0200, Thadeu Lima de Souza Cascardo wrote:
Signed-off-by: Thadeu Lima de Souza Cascardo <redacted> --- v2: Remove the unneeded extra variable i, which caused build failure.
I believe something equivalent is already in -next, can you dbl check ? Cheers, Ben.
quoted hunk ↗ jump to hunk
--- arch/powerpc/kernel/iommu.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-)diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 6d48ff8..0fc44d2 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c@@ -708,7 +708,7 @@ struct iommu_table *iommu_init_table(struct iommu_table *tbl, int nid) void iommu_free_table(struct iommu_table *tbl, const char *node_name) { - unsigned long bitmap_sz, i; + unsigned long bitmap_sz; unsigned int order; if (!tbl || !tbl->it_map) {@@ -725,14 +725,9 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name) clear_bit(0, tbl->it_map); /* verify that table contains no entries */ - /* it_size is in entries, and we're examining 64 at a time */ - for (i = 0; i < (tbl->it_size/64); i++) { - if (tbl->it_map[i] != 0) { + if (find_first_bit(tbl->it_map, tbl->it_size) < tbl->it_size) printk(KERN_WARNING "%s: Unexpected TCEs for %s\n", __func__, node_name); - break; - } - } /* calculate bitmap size in bytes */ bitmap_sz = (tbl->it_size + 7) / 8;