This adds missing permission bits to the translated TCE.

Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru>
---
 arch/powerpc/kernel/iommu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index da04561..01ac319 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -1085,6 +1085,7 @@ int iommu_put_tce_user_mode(struct iommu_table *tbl, 
unsigned long entry,
                return -EFAULT;
        }
        hwaddr = (unsigned long) page_address(page) + offset;
+       hwaddr |= tce & (TCE_PCI_READ | TCE_PCI_WRITE);
 
        ret = iommu_tce_build(tbl, entry, hwaddr, direction);
        if (ret)
-- 
2.0.0

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to