[PATCH] usb/core/hcd-pci.c: don't free_irq() on suspend

the free_irq() in USB suspend breaks resume on some setups where USB
(ohci/ehci) shares the interrupt with an other device.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Daniel Ritz and committed by Linus Torvalds 03cdc0c3 1294b118

-9
-9
drivers/usb/core/hcd-pci.c
··· 242 242 case HC_STATE_SUSPENDED: 243 243 /* no DMA or IRQs except when HC is active */ 244 244 if (dev->current_state == PCI_D0) { 245 - free_irq (hcd->irq, hcd); 246 245 pci_save_state (dev); 247 246 pci_disable_device (dev); 248 247 } ··· 373 374 374 375 hcd->state = HC_STATE_RESUMING; 375 376 hcd->saw_irq = 0; 376 - retval = request_irq (dev->irq, usb_hcd_irq, SA_SHIRQ, 377 - hcd->irq_descr, hcd); 378 - if (retval < 0) { 379 - dev_err (hcd->self.controller, 380 - "can't restore IRQ after resume!\n"); 381 - usb_hc_died (hcd); 382 - return retval; 383 - } 384 377 385 378 retval = hcd->driver->resume (hcd); 386 379 if (!HC_IS_RUNNING (hcd->state)) {