intel-iommu: Fix reattaching of devices to identity mapping domain
When we reattach a device to the si_domain (because it's been removed from a VM), we weren't calling domain_context_mapping() to actually tell the hardware about that. We should really put the call to domain_context_mapping() into domain_add_dev_info() -- we never call the latter without also doing the former, and we can keep the error paths simple that way. But that's a cleanup which can wait for 2.6.32 now. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
1e4c64c46d
commit
1b7bc0a161
1 changed files with 3 additions and 0 deletions
|
@ -2475,6 +2475,9 @@ static int iommu_no_mapping(struct pci_dev *pdev)
|
|||
if (pdev->dma_mask > DMA_BIT_MASK(32)) {
|
||||
int ret;
|
||||
ret = domain_add_dev_info(si_domain, pdev);
|
||||
if (ret)
|
||||
return 0;
|
||||
ret = domain_context_mapping(si_domain, pdev, CONTEXT_TT_MULTI_LEVEL);
|
||||
if (!ret) {
|
||||
printk(KERN_INFO "64bit %s uses identity mapping\n",
|
||||
pci_name(pdev));
|
||||
|
|
Loading…
Reference in a new issue