Don't forget to enable and disable PCI devices.  The device might be
unusable without that.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        if (card_count >= BOARD_COUNT)
                goto err;
 
+       retval = pci_enable_device(pdev);
+       if (retval) {
+               dev_err(&pdev->dev, "failed to enable\n");
+               goto err;
+       }
+
        dev_info(&pdev->dev, "ISI PCI Card(Device ID 0x%x)\n", ent->device);
 
        /* allot the first empty slot in the array */
 errdec:
        board->base = 0;
        card_count--;
+       pci_disable_device(pdev);
 err:
        return retval;
 }
        pci_release_region(pdev, 3);
        board->base = 0;
        card_count--;
+       pci_disable_device(pdev);
 }
 
 static int __init isicom_init(void)