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

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

staging: comedi: ni_labpc: return error from labpc_counter_set_mode()



Make sure labpc_counter_set_mode() was successfull and return any
errno back to the caller.

For the if/else conditions that either load the counter of just set
the mode, use a common error patch to check for the error.

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 fbca05d6
Loading
Loading
Loading
Loading
+18 −14
Original line number Diff line number Diff line
@@ -472,8 +472,10 @@ static int labpc_ai_insn_read(struct comedi_device *dev,
	devpriv->write_byte(devpriv->cmd4, dev->iobase + CMD4_REG);

	/* initialize pacer counter to prevent any problems */
	labpc_counter_set_mode(dev, dev->iobase + COUNTER_A_BASE_REG,
	ret = labpc_counter_set_mode(dev, dev->iobase + COUNTER_A_BASE_REG,
				     0, I8254_MODE2);
	if (ret)
		return ret;

	labpc_clear_adc_fifo(dev);

@@ -901,15 +903,16 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
		 */
		ret = labpc_counter_load(dev, dev->iobase + COUNTER_A_BASE_REG,
					 1, 3, I8254_MODE0);
		if (ret < 0) {
			comedi_error(dev, "error loading counter a1");
			return -1;
		}
	} else	{
		/* just put counter a1 in mode 0 to set its output low */
		labpc_counter_set_mode(dev, dev->iobase + COUNTER_A_BASE_REG,
		ret = labpc_counter_set_mode(dev,
					     dev->iobase + COUNTER_A_BASE_REG,
					     1, I8254_MODE0);
	}
	if (ret) {
		comedi_error(dev, "error loading counter a1");
		return ret;
	}

#ifdef CONFIG_ISA_DMA_API
	/*  figure out what method we will use to transfer data */
@@ -972,15 +975,16 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
		/*  load counter a0 in mode 2 */
		ret = labpc_counter_load(dev, dev->iobase + COUNTER_A_BASE_REG,
					 0, devpriv->divisor_a0, I8254_MODE2);
		if (ret < 0) {
			comedi_error(dev, "error loading counter a0");
			return -1;
		}
	} else {
		/* initialize pacer counter to prevent any problems */
		labpc_counter_set_mode(dev, dev->iobase + COUNTER_A_BASE_REG,
		ret = labpc_counter_set_mode(dev,
					     dev->iobase + COUNTER_A_BASE_REG,
					     0, I8254_MODE2);
	}
	if (ret) {
		comedi_error(dev, "error loading counter a0");
		return ret;
	}

	/*  set up scan pacing */
	if (labpc_ai_scan_period(cmd, mode)) {