diff options
Diffstat (limited to 'drivers/usb/core/hcd-pci.c')
| -rw-r--r-- | drivers/usb/core/hcd-pci.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index b55d46070a2..f71e8e307e0 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -405,7 +405,12 @@ static int suspend_common(struct device *dev, bool do_wakeup)  			return retval;  	} -	synchronize_irq(pci_dev->irq); +	/* If MSI-X is enabled, the driver will have synchronized all vectors +	 * in pci_suspend(). If MSI or legacy PCI is enabled, that will be +	 * synchronized here. +	 */ +	if (!hcd->msix_enabled) +		synchronize_irq(pci_dev->irq);  	/* Downstream ports from this root hub should already be quiesced, so  	 * there will be no DMA activity.  Now we can shut down the upstream  |