From: Jiri Slaby Date: Wed, 16 Jul 2008 20:52:56 +0000 (+0100) Subject: tty: isicom, enable/disable pci device X-Git-Tag: v2.6.27-rc1~1032 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6;p=safe%2Fjmp%2Flinux-2.6 tty: isicom, enable/disable pci device Don't forget to enable and disable PCI devices. The device might be unusable without that. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 4f3cefa..a1a67e3 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c @@ -1736,6 +1736,12 @@ static int __devinit isicom_probe(struct pci_dev *pdev, 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 */ @@ -1790,6 +1796,7 @@ errunrr: errdec: board->base = 0; card_count--; + pci_disable_device(pdev); err: return retval; } @@ -1806,6 +1813,7 @@ static void __devexit isicom_remove(struct pci_dev *pdev) pci_release_region(pdev, 3); board->base = 0; card_count--; + pci_disable_device(pdev); } static int __init isicom_init(void)