On Thu, Dec 27, 2012 at 02:28:06PM -0200, Thadeu Lima de Souza Cascardo wrote: >When a device DMA window includes the address 0, it's reserved in the >TCE bitmap to avoid returning that address to drivers. > >When the device is removed, the bitmap is checked for any mappings not >removed by the driver, indicating a possible DMA mapping leak. Since the >reserved address is not cleared, a message is printed, warning of such a >leak. > >Check for the reservation, and clear it before checking for any other >standing mappings. > >Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@linux.vnet.ibm.com> >--- > arch/powerpc/kernel/iommu.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > >diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c >index 8226c6c..226e9e5 100644 >--- a/arch/powerpc/kernel/iommu.c >+++ b/arch/powerpc/kernel/iommu.c >@@ -717,6 +717,11 @@ void iommu_free_table(struct iommu_table *tbl, const char >*node_name) > return; > } > >+ /* In case we have reserved the first bit, we should not emit >+ * the warning below. */
At least, the comment would look like: /* * xxxxxxx */ >+ if (tbl->it_offset == 0) >+ 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 */ The comment would be merged as well? :-) > for (i = 0; i < (tbl->it_size/64); i++) { Thanks, Gavin _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev