Commit 7b0fc5ba authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: usbduxfast: use a common exit path in ai (*do_cmd)

For aesthetics, use 'goto' and a common exit point in this function so
that the up of the semaphore is not overlooked.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c748debc
......@@ -470,14 +470,12 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev,
struct comedi_cmd *cmd = &s->async->cmd;
unsigned int rngmask = 0xff;
int j, ret;
int result;
long steps, steps_tmp;
down(&devpriv->sem);
if (devpriv->ai_cmd_running) {
dev_err(dev->class_dev, "ai_cmd not possible\n");
up(&devpriv->sem);
return -EBUSY;
ret = -EBUSY;
goto cmd_exit;
}
/*
......@@ -734,11 +732,9 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev,
}
/* 0 means that the AD commands are sent */
result = usbduxfast_send_cmd(dev, SENDADCOMMANDS);
if (result < 0) {
up(&devpriv->sem);
return result;
}
ret = usbduxfast_send_cmd(dev, SENDADCOMMANDS);
if (ret < 0)
goto cmd_exit;
if ((cmd->start_src == TRIG_NOW) || (cmd->start_src == TRIG_EXT)) {
/* enable this acquisition operation */
......@@ -747,16 +743,17 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev,
if (ret < 0) {
devpriv->ai_cmd_running = 0;
/* fixme: unlink here?? */
up(&devpriv->sem);
return ret;
goto cmd_exit;
}
s->async->inttrig = NULL;
} else { /* TRIG_INT */
s->async->inttrig = usbduxfast_ai_inttrig;
}
cmd_exit:
up(&devpriv->sem);
return 0;
return ret;
}
/*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment