From fb7d86b5042e4db8e2bebb991e10e0413092874d Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 7 May 2010 10:30:41 +0200 Subject: [PATCH] --- yaml --- r: 196095 b: refs/heads/master c: 26e1e8d1d1cfa914b95b5dab001a6ed898872755 h: refs/heads/master i: 196093: 7f47e1055b7e1669689dffc30b5127b1b57ca4ba 196091: 748b1a65bc34d0da1ec36ac2749962d9c758ac0d 196087: e6bd56472859005716e5b764520a65a358b68992 196079: d9a726322db2df00c2be1b1b68f15f3cd2096cda 196063: 5a2930f23abf9a9dcb7ae5c409f3c747f51e2f41 196031: 00463a6e48275c3d69e4b8168f70ccee5be342f5 195967: ca19922b21223384555555f1a1c5c787ef44a593 195839: bf32a9c78871f37a10dc259706195599f651851a 195583: 32a9275aecb805bfff0828f9716b3bbbbb393aad v: v3 --- [refs] | 2 +- trunk/drivers/char/isicom.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 638596172263..f9950c4262b4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e114474cf5c7fe7ab94dd4f5938ffa51c9af77c4 +refs/heads/master: 26e1e8d1d1cfa914b95b5dab001a6ed898872755 diff --git a/trunk/drivers/char/isicom.c b/trunk/drivers/char/isicom.c index c1ab303455cf..98310e1aae30 100644 --- a/trunk/drivers/char/isicom.c +++ b/trunk/drivers/char/isicom.c @@ -1573,11 +1573,16 @@ static int __devinit isicom_probe(struct pci_dev *pdev, dev_info(&pdev->dev, "ISI PCI Card(Device ID 0x%x)\n", ent->device); /* allot the first empty slot in the array */ - for (index = 0; index < BOARD_COUNT; index++) + for (index = 0; index < BOARD_COUNT; index++) { if (isi_card[index].base == 0) { board = &isi_card[index]; break; } + } + if (index == BOARD_COUNT) { + retval = -ENODEV; + goto err_disable; + } board->index = index; board->base = pci_resource_start(pdev, 3); @@ -1624,6 +1629,7 @@ static int __devinit isicom_probe(struct pci_dev *pdev, errdec: board->base = 0; card_count--; +err_disable: pci_disable_device(pdev); err: return retval;