[POWERPC] Fix G5 DART (IOMMU) race causing occasional data corruption
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 13 Sep 2006 12:12:52 +0000 (22:12 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 13 Sep 2006 12:12:52 +0000 (22:12 +1000)
commiteeac5c142b8687e35780b11b54b4c2f95b1a2436
treec0df8f3f5b154d41a63bff1a4e49f2bf5172b079
parentf007cacffc8870702a1473d83ba5e4922d54e17c
[POWERPC] Fix G5 DART (IOMMU) race causing occasional data corruption

It seems that the occasional data corruption observed with the tg3
driver wasn't due to missing barriers after all, but rather seems to
be due to the DART (= IOMMU) in the U4 northbridge reading stale
IOMMU table entries from memory due to a race.  This fixes it by
making the CPU read the entry back from memory before using it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/sysdev/dart_iommu.c