staging: comedi: addi_common.c: fix the test for the PCI bars
Commit: 0fcdafb83b9b4e5c48410b3ca91b1f237ad60dbc staging: comedi: addi-data: cleanup reading of the PCI bars Changed this test before reading the PCI bars: if ((this_board->pc_EepromChip == NULL) || (strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) { to this: if (!this_board->pc_EepromChip || !strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) { I just noticed that the strcmp test is wrong. This fixes the test and adds a comment for it. This error "broke" the addi-data drivers but they are broken anyway since they don't follow the comedi core API. The addi_apci_1032 driver has been converted to follow the comedi core API. This error effects that driver since the iobase for it should be found in PCI bar 1 not 2. This fixes that also. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
891e62c33d
commit
c965c8b7d2
@ -119,7 +119,8 @@ static int __devinit addi_auto_attach(struct comedi_device *dev,
|
||||
return ret;
|
||||
|
||||
if (!this_board->pc_EepromChip ||
|
||||
!strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) {
|
||||
strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) {
|
||||
/* board does not have an eeprom or is not ADDIDATA_9054 */
|
||||
if (this_board->i_IorangeBase1)
|
||||
dev->iobase = pci_resource_start(pcidev, 1);
|
||||
else
|
||||
@ -129,6 +130,7 @@ static int __devinit addi_auto_attach(struct comedi_device *dev,
|
||||
devpriv->i_IobaseAmcc = pci_resource_start(pcidev, 0);
|
||||
devpriv->i_IobaseAddon = pci_resource_start(pcidev, 2);
|
||||
} else {
|
||||
/* board has an ADDIDATA_9054 eeprom */
|
||||
dev->iobase = pci_resource_start(pcidev, 2);
|
||||
devpriv->iobase = pci_resource_start(pcidev, 2);
|
||||
devpriv->dw_AiBase = ioremap(pci_resource_start(pcidev, 3),
|
||||
|
@ -265,7 +265,7 @@ static int __devinit apci1032_auto_attach(struct comedi_device *dev,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
dev->iobase = pci_resource_start(pcidev, 2);
|
||||
dev->iobase = pci_resource_start(pcidev, 1);
|
||||
|
||||
if (pcidev->irq > 0) {
|
||||
ret = request_irq(pcidev->irq, apci1032_interrupt, IRQF_SHARED,
|
||||
|
Loading…
x
Reference in New Issue
Block a user