diff options
author | tmm <tmm@FreeBSD.org> | 2002-10-25 17:31:31 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-10-25 17:31:31 +0000 |
commit | 6bff02396b37ef2d411d1c03859c95155f8d22cc (patch) | |
tree | 4d777b2fb03b5b4c1e3dabd9d0435c52a21f9ec1 /sys/sparc64 | |
parent | 22f46b3ac74623b7d82314869dde14ccccb0b6da (diff) | |
download | FreeBSD-src-6bff02396b37ef2d411d1c03859c95155f8d22cc.zip FreeBSD-src-6bff02396b37ef2d411d1c03859c95155f8d22cc.tar.gz |
Fix iommu_dvmamap_sync() to use the right address when flushing the
streaming cache. This bug could have the potential to cause data
corruption on systems with Psycho U2P bridges (Sabre bridges have no
streaming cache).
However, due to the usual driver architecture, it is believed that
corruption did occur only in rare cases (if at all).
Diffstat (limited to 'sys/sparc64')
-rw-r--r-- | sys/sparc64/sparc64/iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/iommu.c b/sys/sparc64/sparc64/iommu.c index b4128f4..0391e99 100644 --- a/sys/sparc64/sparc64/iommu.c +++ b/sys/sparc64/sparc64/iommu.c @@ -744,7 +744,7 @@ iommu_dvmamap_sync(bus_dma_tag_t pt, bus_dma_tag_t dt, struct iommu_state *is, vm_offset_t va; vm_size_t len; - va = (vm_offset_t)map->buf; + va = (vm_offset_t)map->start; len = map->buflen; if ((op & BUS_DMASYNC_PREREAD) != 0) membar(Sync); |