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: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b9ca5508bc
commit
6cf6b36768
|
@ -1775,8 +1775,16 @@ static int pci9118_common_attach(struct comedi_device *dev, int disable_irq,
|
||||||
|
|
||||||
pci9118_reset(dev);
|
pci9118_reset(dev);
|
||||||
|
|
||||||
if (master)
|
if (!disable_irq && pcidev->irq) {
|
||||||
pci9118_alloc_dma(dev);
|
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 > 0) {
|
||||||
if (ext_mux > 256)
|
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);
|
pci_write_config_word(pcidev, PCI_COMMAND, u16w | 64);
|
||||||
/* Enable parity check for parity error */
|
/* 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);
|
ret = comedi_alloc_subdevices(dev, 4);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue