[PATCH 11/25] SPARC32: Fix iommu_flush_iotlb end address

From: Chris Wright
Date: Tue Jun 27 2006 - 16:13:46 EST


-stable review patch. If anyone has any objections, please let us know.
------------------

From: David Miller <davem@xxxxxxxxxxxxx>

Fix the calculation of the end address when flushing iotlb entries to
ram. This bug has been a cause of esp dma errors, and it affects
HyperSPARC systems much worse than SuperSPARC systems.

Signed-off-by: Bob Breuer <breuerr@xxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
---
arch/sparc/mm/iommu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- linux-2.6.17.1.orig/arch/sparc/mm/iommu.c
+++ linux-2.6.17.1/arch/sparc/mm/iommu.c
@@ -144,8 +144,9 @@ static void iommu_flush_iotlb(iopte_t *i
unsigned long start;
unsigned long end;

- start = (unsigned long)iopte & PAGE_MASK;
+ start = (unsigned long)iopte;
end = PAGE_ALIGN(start + niopte*sizeof(iopte_t));
+ start &= PAGE_MASK;
if (viking_mxcc_present) {
while(start < end) {
viking_mxcc_flush_page(start);

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/