From: H Hartley Sweeten Date: Fri, 22 Mar 2013 16:54:41 +0000 (-0700) Subject: staging: comedi: ni_labpc: return error from labpc_counter_set_mode() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f06563f0132b21ce4258f977c58f9eb01c90cdd3;p=openwrt%2Fstaging%2Fblogic.git 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: H Hartley Sweeten Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c index 5782b019697d..350ba0454bd6 100644 --- a/drivers/staging/comedi/drivers/ni_labpc.c +++ b/drivers/staging/comedi/drivers/ni_labpc.c @@ -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, - 0, I8254_MODE2); + 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,14 +903,15 @@ 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, - 1, I8254_MODE0); + 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 @@ -972,14 +975,15 @@ 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, - 0, I8254_MODE2); + 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 */