Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit deb5e5c0 authored by Jeremy Higdon's avatar Jeremy Higdon Committed by Bartlomiej Zolnierkiewicz
Browse files

[PATCH] sgiioc4: check for no hwifs available



Add a check to the sgiioc4 driver for the case where all available
ide_hwifs structures are in use.

Signed-off-by: default avatarJeremy Higdon <jeremy@sgi.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent acd9b7b4
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -622,12 +622,18 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d)
	ide_hwif_t *hwif;
	int h;

	/*
	 * Find an empty HWIF; if none available, return -ENOMEM.
	 */
	for (h = 0; h < MAX_HWIFS; ++h) {
		hwif = &ide_hwifs[h];
		/* Find an empty HWIF */
		if (hwif->chipset == ide_unknown)
			break;
	}
	if (h == MAX_HWIFS) {
		printk(KERN_ERR "%s: too many IDE interfaces, no room in table\n", d->name);
		return -ENOMEM;
	}

	/*  Get the CmdBlk and CtrlBlk Base Registers */
	base = pci_resource_start(dev, 0) + IOC4_CMD_OFFSET;