aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ieee1394/ohci1394.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index e509e13cb7a7..066726bcb0ee 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -3381,6 +3381,7 @@ static int ohci1394_pci_suspend(struct pci_dev *dev, pm_message_t state)
3381 ohci_devctl(ohci->host, RESET_BUS, LONG_RESET_NO_FORCE_ROOT); 3381 ohci_devctl(ohci->host, RESET_BUS, LONG_RESET_NO_FORCE_ROOT);
3382 ohci_soft_reset(ohci); 3382 ohci_soft_reset(ohci);
3383 3383
3384 free_irq(dev->irq, ohci);
3384 err = pci_save_state(dev); 3385 err = pci_save_state(dev);
3385 if (err) { 3386 if (err) {
3386 PRINT(KERN_ERR, "pci_save_state failed with %d", err); 3387 PRINT(KERN_ERR, "pci_save_state failed with %d", err);
@@ -3421,6 +3422,13 @@ static int ohci1394_pci_resume(struct pci_dev *dev)
3421 reg_write(ohci, OHCI1394_IntEventClear, 0xffffffff); 3422 reg_write(ohci, OHCI1394_IntEventClear, 0xffffffff);
3422 reg_write(ohci, OHCI1394_IntMaskClear, 0xffffffff); 3423 reg_write(ohci, OHCI1394_IntMaskClear, 0xffffffff);
3423 mdelay(50); 3424 mdelay(50);
3425
3426 if (request_irq(dev->irq, ohci_irq_handler, IRQF_SHARED,
3427 OHCI1394_DRIVER_NAME, ohci)) {
3428 PRINT_G(KERN_ERR, "Failed to allocate interrupt %d", dev->irq);
3429 return -EIO;
3430 }
3431
3424 ohci_initialize(ohci); 3432 ohci_initialize(ohci);
3425 3433
3426 hpsb_resume_host(ohci->host); 3434 hpsb_resume_host(ohci->host);