mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices
AMD IOMMU driver makes use of IOMMU PCI devices, so prevent binding other
PCI drivers to IOMMU PCI devices.
This fixes a bug reported by Boris that system suspend/resume gets broken
on AMD platforms. For more information, please refer to:
	https://lkml.org/lkml/2015/9/26/89
Fixes: 991de2e590 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
			
			
This commit is contained in:
		
							parent
							
								
									02685b1df0
								
							
						
					
					
						commit
						cbbc00be2c
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1256,6 +1256,9 @@ static int iommu_init_pci(struct amd_iommu *iommu)
 | 
			
		|||
	if (!iommu->dev)
 | 
			
		||||
		return -ENODEV;
 | 
			
		||||
 | 
			
		||||
	/* Prevent binding other PCI device drivers to IOMMU devices */
 | 
			
		||||
	iommu->dev->match_driver = false;
 | 
			
		||||
 | 
			
		||||
	pci_read_config_dword(iommu->dev, cap_ptr + MMIO_CAP_HDR_OFFSET,
 | 
			
		||||
			      &iommu->cap);
 | 
			
		||||
	pci_read_config_dword(iommu->dev, cap_ptr + MMIO_RANGE_OFFSET,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue