mirror of
https://github.com/adulau/aha.git
synced 2025-01-04 07:03:38 +00:00
[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: Bob Breuer <breuerr@mc.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
92d452f0eb
commit
3185d4d287
1 changed files with 2 additions and 1 deletions
|
@ -144,8 +144,9 @@ static void iommu_flush_iotlb(iopte_t *iopte, unsigned int niopte)
|
||||||
unsigned long start;
|
unsigned long start;
|
||||||
unsigned long end;
|
unsigned long end;
|
||||||
|
|
||||||
start = (unsigned long)iopte & PAGE_MASK;
|
start = (unsigned long)iopte;
|
||||||
end = PAGE_ALIGN(start + niopte*sizeof(iopte_t));
|
end = PAGE_ALIGN(start + niopte*sizeof(iopte_t));
|
||||||
|
start &= PAGE_MASK;
|
||||||
if (viking_mxcc_present) {
|
if (viking_mxcc_present) {
|
||||||
while(start < end) {
|
while(start < end) {
|
||||||
viking_mxcc_flush_page(start);
|
viking_mxcc_flush_page(start);
|
||||||
|
|
Loading…
Reference in a new issue