Skip to content

Commit

Permalink
serial: isicomm: handle running out of slots
Browse files Browse the repository at this point in the history
This patch makes it return -ENODEV if we run out of empty slots in the
probe function.  It's unlikely to happen, but it makes the static
checkers happy.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Dan Carpenter authored and Greg Kroah-Hartman committed May 21, 2010
1 parent e114474 commit 26e1e8d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion drivers/char/isicom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 26e1e8d

Please sign in to comment.