int nr_chips;
u16 subsysid;
+ i = 0;
do {
pcidev = pci_find_device(PCAN_PCI_VENDOR_ID, PCAN_PCI_PRODUCT_ID, pcidev);
- if(pcidev == NULL) return -ENODEV;
+ if(pcidev == NULL) {
+ printk(KERN_ERR "No unused PCAN_PCI #%d card found\n", i);
+ return -ENODEV;
+ }
+ i++;
} while(can_check_dev_taken(pcidev));
if (pci_enable_device (pcidev)){
- printk(KERN_CRIT "Enable PCAN_PCI failed\n");
+ printk(KERN_ERR "Enable PCAN_PCI failed\n");
return -EIO;
}
candev->sysdevptr.pcidev=pcidev;
for(i=0;i<2;i++){
if(!(pci_resource_flags(pcidev,0)&IORESOURCE_MEM)){
- printk(KERN_CRIT "PCAN_PCI region %d is not memory\n",i);
+ printk(KERN_ERR "PCAN_PCI region %d is not memory\n",i);
goto error_ret;
}
}
if(candev->sysdevptr.pcidev==NULL)
return -ENODEV;
+ sja1000p_fill_chipspecops(candev->chip[chipnr]);
+
/* special version of the IRQ handler is required for PCAN_PCI board */
candev->chip[chipnr]->chipspecops->irq_handler=pcan_pci_irq_handler;
candev->chip[chipnr]->chip_irq=candev->sysdevptr.pcidev->irq;
- sja1000p_fill_chipspecops(candev->chip[chipnr]);
candev->chip[chipnr]->chip_base_addr=
can_ioport2ioptr(candev->io_addr+chipnr*PCAN_PCI_BYTES_PER_CIRCUIT);
candev->chip[chipnr]->flags = 0;