diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-11-25 12:56:12 +0100 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2008-12-03 12:20:46 +0100 |
commit | f91ba190648be4ff127d6aaf3993ac19d66dc2c2 (patch) | |
tree | 1e56d253b20759ca9c11fba0dd8ca5b243b8e47e /arch | |
parent | eac9fbc6a90ab3440f4d98a8c52b15a724fc6f4f (diff) | |
download | op-kernel-dev-f91ba190648be4ff127d6aaf3993ac19d66dc2c2.zip op-kernel-dev-f91ba190648be4ff127d6aaf3993ac19d66dc2c2.tar.gz |
AMD IOMMU: set device table entry for aliased devices
In some rare cases a request can arrive an IOMMU with its originial
requestor id even it is aliased. Handle this by setting the device table
entry to the same protection domain for the original and the aliased
requestor id.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index e4899e0..a232e5a 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c @@ -858,6 +858,9 @@ static int get_device_resources(struct device *dev, print_devid(_bdf, 1); } + if (domain_for_device(_bdf) == NULL) + set_device_domain(*iommu, *domain, _bdf); + return 1; } |