From 60d83d1ca8be630e97e08445a30e4a36904315e4 Mon Sep 17 00:00:00 2001 From: Frans Pop Date: Sat, 6 Dec 2008 15:36:47 +0100 Subject: [PATCH] --- yaml --- r: 127169 b: refs/heads/master c: d1069aea6840c24f6e0617a758334312b60d3fc6 h: refs/heads/master i: 127167: d4851bac1fb35dd5257ff8cfa3ed7d7554385d27 v: v3 --- [refs] | 2 +- trunk/drivers/ieee1394/ohci1394.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d46fe3fa269e..8f04fa2994ba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b17a55096071898454d7b5b6fb30cca7faedf9f1 +refs/heads/master: d1069aea6840c24f6e0617a758334312b60d3fc6 diff --git a/trunk/drivers/ieee1394/ohci1394.c b/trunk/drivers/ieee1394/ohci1394.c index e509e13cb7a7..066726bcb0ee 100644 --- a/trunk/drivers/ieee1394/ohci1394.c +++ b/trunk/drivers/ieee1394/ohci1394.c @@ -3381,6 +3381,7 @@ static int ohci1394_pci_suspend(struct pci_dev *dev, pm_message_t state) ohci_devctl(ohci->host, RESET_BUS, LONG_RESET_NO_FORCE_ROOT); ohci_soft_reset(ohci); + free_irq(dev->irq, ohci); err = pci_save_state(dev); if (err) { PRINT(KERN_ERR, "pci_save_state failed with %d", err); @@ -3421,6 +3422,13 @@ static int ohci1394_pci_resume(struct pci_dev *dev) reg_write(ohci, OHCI1394_IntEventClear, 0xffffffff); reg_write(ohci, OHCI1394_IntMaskClear, 0xffffffff); mdelay(50); + + if (request_irq(dev->irq, ohci_irq_handler, IRQF_SHARED, + OHCI1394_DRIVER_NAME, ohci)) { + PRINT_G(KERN_ERR, "Failed to allocate interrupt %d", dev->irq); + return -EIO; + } + ohci_initialize(ohci); hpsb_resume_host(ohci->host);