]> git.karo-electronics.de Git - karo-tx-linux.git/commit
iommu/amd: Initialize dma_ops for hotplug and sriov devices
authorJoerg Roedel <joerg.roedel@amd.com>
Thu, 21 Jun 2012 12:52:40 +0000 (14:52 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 25 Jul 2012 03:11:07 +0000 (04:11 +0100)
commitf2d391c109ecc377d55f7865ac8ea26ac8921ab7
treee99b542f5b17e55ffb7589194befd33d3150d3d2
parentf17963661759dfde573f9d7993cf5aa5a97057c3
iommu/amd: Initialize dma_ops for hotplug and sriov devices

commit ac1534a55d1e87d59a21c09c570605933b551480 upstream.

When a device is added to the system at runtime the AMD
IOMMU driver initializes the necessary data structures to
handle translation for it. But it forgets to change the
per-device dma_ops to point to the AMD IOMMU driver. So
mapping actually never happens and all DMA accesses end in
an IO_PAGE_FAULT. Fix this.

Reported-by: Stefan Assmann <sassmann@redhat.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
[bwh: Backported to 3.2:
 - Adjust context
 - Use global iommu_pass_through; there is no per-device pass_through]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/iommu/amd_iommu.c