diff options
-rw-r--r-- | drivers/char/isicom.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 604882dac2d..91b97844522 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c @@ -1789,7 +1789,8 @@ static int __devinit isicom_probe(struct pci_dev *pdev, pci_set_drvdata(pdev, board); - if (!request_region(board->base, 16, ISICOM_NAME)) { + retval = pci_request_region(pdev, 3, ISICOM_NAME); + if (retval) { dev_err(&pdev->dev, "I/O Region 0x%lx-0x%lx is busy. Card%d " "will be disabled.\n", board->base, board->base + 15, index + 1); @@ -1822,7 +1823,7 @@ static int __devinit isicom_probe(struct pci_dev *pdev, errunri: free_irq(board->irq, board); errunrr: - release_region(board->base, 16); + pci_release_region(pdev, 3); err: board->base = 0; return retval; @@ -1837,7 +1838,7 @@ static void __devexit isicom_remove(struct pci_dev *pdev) tty_unregister_device(isicom_normal, board->index * 16 + i); free_irq(board->irq, board); - release_region(board->base, 16); + pci_release_region(pdev, 3); } static int __init isicom_init(void) |