From patchwork Thu Jan 10 19:33:39 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] ppc/iommu: use find_first_bit to look up entries in the iommu table Date: Thu, 10 Jan 2013 09:33:39 -0000 From: Thadeu Lima de Souza Cascardo X-Patchwork-Id: 211126 Message-Id: <1357846419-13515-1-git-send-email-cascardo@linux.vnet.ibm.com> To: linuxppc-dev@lists.ozlabs.org Cc: paulus@samba.org, shangw@linux.vnet.ibm.com, Thadeu Lima de Souza Cascardo , anton@samba.org Signed-off-by: Thadeu Lima de Souza Cascardo --- v2: Remove the unneeded extra variable i, which caused build failure. --- 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;