Commit 618351ae authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: cb_pcidda: check for subdev_8255_init() failure



The subdev_8255_init() can fail, make sure to check for it.

This board has two 8255 subdevices, one at iobase PCI bar2 and one
at iobase PCI bar2 + 4. Init the subdevices using a for() loop to
make the code a bit more concise.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2730c736
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -521,10 +521,12 @@ static int cb_pcidda_attach_pci(struct comedi_device *dev,
	s->insn_write = cb_pcidda_ao_winsn;

	/* two 8255 digital io subdevices */
	s = &dev->subdevices[1];
	subdev_8255_init(dev, s, NULL, iobase_8255);
	s = &dev->subdevices[2];
	subdev_8255_init(dev, s, NULL, iobase_8255 + PORT2A);
	for (i = 0; i < 2; i++) {
		s = &dev->subdevices[1 + i];
		ret = subdev_8255_init(dev, s, NULL, iobase_8255 + (i * 4));
		if (ret)
			return ret;
	}

	/* Read the caldac eeprom data */
	for (i = 0; i < EEPROM_SIZE; i++)