mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	PCI: Wrong register used to check pending traffic
The incorrect register offset is passed to pci_wait_for_pending(), which is caused by commit157e876ffe("PCI: Add pci_wait_for_pending() (refactor pci_wait_for_pending_transaction())"). Fixes:157e876ffe("PCI: Add pci_wait_for_pending() (refactor pci_wait_for_pending_transaction()) Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Alex Williamson <alex.williamson@gmail.com> CC: stable@vger.kernel.org # v3.14+
This commit is contained in:
		
							parent
							
								
									93fa9d3267
								
							
						
					
					
						commit
						d0b4cc4e32
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -3067,7 +3067,8 @@ int pci_wait_for_pending_transaction(struct pci_dev *dev)
 | 
			
		|||
	if (!pci_is_pcie(dev))
 | 
			
		||||
		return 1;
 | 
			
		||||
 | 
			
		||||
	return pci_wait_for_pending(dev, PCI_EXP_DEVSTA, PCI_EXP_DEVSTA_TRPND);
 | 
			
		||||
	return pci_wait_for_pending(dev, pci_pcie_cap(dev) + PCI_EXP_DEVSTA,
 | 
			
		||||
				    PCI_EXP_DEVSTA_TRPND);
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL(pci_wait_for_pending_transaction);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3109,7 +3110,7 @@ static int pci_af_flr(struct pci_dev *dev, int probe)
 | 
			
		|||
		return 0;
 | 
			
		||||
 | 
			
		||||
	/* Wait for Transaction Pending bit clean */
 | 
			
		||||
	if (pci_wait_for_pending(dev, PCI_AF_STATUS, PCI_AF_STATUS_TP))
 | 
			
		||||
	if (pci_wait_for_pending(dev, pos + PCI_AF_STATUS, PCI_AF_STATUS_TP))
 | 
			
		||||
		goto clear;
 | 
			
		||||
 | 
			
		||||
	dev_err(&dev->dev, "transaction is not cleared; "
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue