diff options
author | Kusanagi Kouichi <slash@ac.auone-net.jp> | 2010-02-06 02:45:33 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-08-02 15:34:59 -0300 |
commit | e38030f3ff02684eb9e25e983a03ad318a10a2ea (patch) | |
tree | 016340c5da972714624590ce968accb5dc6ab05a /drivers/media/video/cx23885/cx23885-core.c | |
parent | b48592e496e55e4e3e6e7f27d5ba3a229a1db7a6 (diff) | |
download | op-kernel-dev-e38030f3ff02684eb9e25e983a03ad318a10a2ea.zip op-kernel-dev-e38030f3ff02684eb9e25e983a03ad318a10a2ea.tar.gz |
V4L/DVB: cx23885: Enable Message Signaled Interrupts(MSI)
Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp>
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-core.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-core.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c index 161ae73..ff76f64 100644 --- a/drivers/media/video/cx23885/cx23885-core.c +++ b/drivers/media/video/cx23885/cx23885-core.c @@ -1953,8 +1953,12 @@ static int __devinit cx23885_initdev(struct pci_dev *pci_dev, goto fail_irq; } - err = request_irq(pci_dev->irq, cx23885_irq, - IRQF_SHARED | IRQF_DISABLED, dev->name, dev); + if (!pci_enable_msi(pci_dev)) + err = request_irq(pci_dev->irq, cx23885_irq, + IRQF_DISABLED, dev->name, dev); + else + err = request_irq(pci_dev->irq, cx23885_irq, + IRQF_SHARED | IRQF_DISABLED, dev->name, dev); if (err < 0) { printk(KERN_ERR "%s: can't get IRQ %d\n", dev->name, pci_dev->irq); @@ -2000,6 +2004,7 @@ static void __devexit cx23885_finidev(struct pci_dev *pci_dev) /* unregister stuff */ free_irq(pci_dev->irq, dev); + pci_disable_msi(pci_dev); cx23885_dev_unregister(dev); v4l2_device_unregister(v4l2_dev); |