mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	PCI: Add VPD function 0 quirk for Intel Ethernet devices
Set the PCI_DEV_FLAGS_VPD_REF_F0 flag on all Intel Ethernet device functions other than function 0, so that on multi-function devices, we will always read VPD from function 0 instead of from the other functions. [bhelgaas: changelog] Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Alexander Duyck <alexander.h.duyck@redhat.com> CC: stable@vger.kernel.org
This commit is contained in:
		
							parent
							
								
									932c435cab
								
							
						
					
					
						commit
						7aa6ca4d39
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1895,6 +1895,15 @@ static void quirk_netmos(struct pci_dev *dev)
 | 
			
		|||
DECLARE_PCI_FIXUP_CLASS_HEADER(PCI_VENDOR_ID_NETMOS, PCI_ANY_ID,
 | 
			
		||||
			 PCI_CLASS_COMMUNICATION_SERIAL, 8, quirk_netmos);
 | 
			
		||||
 | 
			
		||||
static void quirk_f0_vpd_link(struct pci_dev *dev)
 | 
			
		||||
{
 | 
			
		||||
	if (!dev->multifunction || !PCI_FUNC(dev->devfn))
 | 
			
		||||
		return;
 | 
			
		||||
	dev->dev_flags |= PCI_DEV_FLAGS_VPD_REF_F0;
 | 
			
		||||
}
 | 
			
		||||
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_INTEL, PCI_ANY_ID,
 | 
			
		||||
			      PCI_CLASS_NETWORK_ETHERNET, 8, quirk_f0_vpd_link);
 | 
			
		||||
 | 
			
		||||
static void quirk_e100_interrupt(struct pci_dev *dev)
 | 
			
		||||
{
 | 
			
		||||
	u16 command, pmcsr;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue