Commit 6cf6b367 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: adl_pci9118: DMA requires an interrupt

In order for DMA to work we also need an interrupt. Refactor the code
so that the DMA allocation is only done if the interrupt is available.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b9ca5508
......@@ -1775,8 +1775,16 @@ static int pci9118_common_attach(struct comedi_device *dev, int disable_irq,
pci9118_reset(dev);
if (master)
pci9118_alloc_dma(dev);
if (!disable_irq && pcidev->irq) {
ret = request_irq(pcidev->irq, pci9118_interrupt, IRQF_SHARED,
dev->board_name, dev);
if (ret == 0) {
dev->irq = pcidev->irq;
if (master)
pci9118_alloc_dma(dev);
}
}
if (ext_mux > 0) {
if (ext_mux > 256)
......@@ -1804,13 +1812,6 @@ static int pci9118_common_attach(struct comedi_device *dev, int disable_irq,
pci_write_config_word(pcidev, PCI_COMMAND, u16w | 64);
/* Enable parity check for parity error */
if (!disable_irq && pcidev->irq) {
ret = request_irq(pcidev->irq, pci9118_interrupt, IRQF_SHARED,
dev->board_name, dev);
if (ret == 0)
dev->irq = pcidev->irq;
}
ret = comedi_alloc_subdevices(dev, 4);
if (ret)
return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment