serial: isicomm: handle running out of slots

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>
This commit is contained in:
Dan Carpenter 2010-05-07 10:30:41 +02:00 committed by Greg Kroah-Hartman
parent e114474cf5
commit 26e1e8d1d1

View File

@ -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); dev_info(&pdev->dev, "ISI PCI Card(Device ID 0x%x)\n", ent->device);
/* allot the first empty slot in the array */ /* 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) { if (isi_card[index].base == 0) {
board = &isi_card[index]; board = &isi_card[index];
break; break;
} }
}
if (index == BOARD_COUNT) {
retval = -ENODEV;
goto err_disable;
}
board->index = index; board->index = index;
board->base = pci_resource_start(pdev, 3); board->base = pci_resource_start(pdev, 3);
@ -1624,6 +1629,7 @@ errunrr:
errdec: errdec:
board->base = 0; board->base = 0;
card_count--; card_count--;
err_disable:
pci_disable_device(pdev); pci_disable_device(pdev);
err: err:
return retval; return retval;