Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3185d4d2 authored by Bob Breuer's avatar Bob Breuer Committed by David S. Miller
Browse files

[SPARC]: Fix iommu_flush_iotlb end address



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: default avatarBob Breuer <breuerr@mc.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 92d452f0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -144,8 +144,9 @@ static void iommu_flush_iotlb(iopte_t *iopte, unsigned int niopte)
	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);