diff options
Diffstat (limited to 'drivers/char/isicom.c')
-rw-r--r-- | drivers/char/isicom.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 4f3cefa8eb0e..a1a67e3d52cc 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c | |||
@@ -1736,6 +1736,12 @@ static int __devinit isicom_probe(struct pci_dev *pdev, | |||
1736 | if (card_count >= BOARD_COUNT) | 1736 | if (card_count >= BOARD_COUNT) |
1737 | goto err; | 1737 | goto err; |
1738 | 1738 | ||
1739 | retval = pci_enable_device(pdev); | ||
1740 | if (retval) { | ||
1741 | dev_err(&pdev->dev, "failed to enable\n"); | ||
1742 | goto err; | ||
1743 | } | ||
1744 | |||
1739 | dev_info(&pdev->dev, "ISI PCI Card(Device ID 0x%x)\n", ent->device); | 1745 | dev_info(&pdev->dev, "ISI PCI Card(Device ID 0x%x)\n", ent->device); |
1740 | 1746 | ||
1741 | /* allot the first empty slot in the array */ | 1747 | /* allot the first empty slot in the array */ |
@@ -1790,6 +1796,7 @@ errunrr: | |||
1790 | errdec: | 1796 | errdec: |
1791 | board->base = 0; | 1797 | board->base = 0; |
1792 | card_count--; | 1798 | card_count--; |
1799 | pci_disable_device(pdev); | ||
1793 | err: | 1800 | err: |
1794 | return retval; | 1801 | return retval; |
1795 | } | 1802 | } |
@@ -1806,6 +1813,7 @@ static void __devexit isicom_remove(struct pci_dev *pdev) | |||
1806 | pci_release_region(pdev, 3); | 1813 | pci_release_region(pdev, 3); |
1807 | board->base = 0; | 1814 | board->base = 0; |
1808 | card_count--; | 1815 | card_count--; |
1816 | pci_disable_device(pdev); | ||
1809 | } | 1817 | } |
1810 | 1818 | ||
1811 | static int __init isicom_init(void) | 1819 | static int __init isicom_init(void) |