summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2008-01-31 00:41:30 -0600
committerLinus Torvalds <torvalds@linux-foundation.org>2008-01-31 19:59:44 +1100
commit24af8cb86973dde9bf8df51bef923fda8718bdb5 (patch)
tree984e150e7160ac027b9c77651e98f614811cf273 /arch
parent8af03e782cae1e0a0f530ddd22301cdd12cf9dc0 (diff)
downloadlinux-stable-24af8cb86973dde9bf8df51bef923fda8718bdb5.tar.gz
linux-stable-24af8cb86973dde9bf8df51bef923fda8718bdb5.tar.bz2
linux-stable-24af8cb86973dde9bf8df51bef923fda8718bdb5.zip
POWERPC: Set dma_data correctly for direct_ops on pasemi
More late-caught fallout from the mainline merge. Commit 35e4a6e26d0c6bc7f32087db61f0fb3666531183 ("[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset") claimed "Now that all platforms using dma_direct_offset setup the archdata.dma_data correctly, ..." ..but nope -- the pasemi iommu setup code that disables translation on the DMA pci device didn't set dma_data correctly. This fixes it. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/pasemi/iommu.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index 9916a0f3e431..c5cfd4b04a83 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -182,8 +182,10 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev)
* CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time.
*/
if (dev->vendor == 0x1959 && dev->device == 0xa007 &&
- !firmware_has_feature(FW_FEATURE_LPAR))
+ !firmware_has_feature(FW_FEATURE_LPAR)) {
dev->dev.archdata.dma_ops = &dma_direct_ops;
+ dev->dev.archdata.dma_data = 0;
+ }
#endif
dev->dev.archdata.dma_data = &iommu_table_iobmap;