diff options
Diffstat (limited to 'drivers/usb/core/hcd-pci.c')
| -rw-r--r-- | drivers/usb/core/hcd-pci.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index 1cf2d1e79a5..7e2d5271b0c 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -292,6 +292,14 @@ void usb_hcd_pci_remove(struct pci_dev *dev)  	if (!hcd)  		return; +	/* Fake an interrupt request in order to give the driver a chance +	 * to test whether the controller hardware has been removed (e.g., +	 * cardbus physical eject). +	 */ +	local_irq_disable(); +	usb_hcd_irq(0, hcd); +	local_irq_enable(); +  	usb_remove_hcd(hcd);  	if (hcd->driver->flags & HCD_MEMORY) {  		iounmap(hcd->regs);  |