Commit 32fa46b9 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: usbduxfast: tidy up usbduxfast_ai_stop()

Remove the devpriv sanity check, all the callers have previously
verified that its valid.

Absorb usbduxfast_unlink_urbs() into this function since it's the
only caller and the only thing it does is call usb_kill_urb().

This function will always succeed so just return 0 and remove the
local variable 'ret'.
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 cb8c0034
......@@ -185,45 +185,19 @@ static int usbduxfast_send_cmd(struct comedi_device *dev, int cmd_type)
return ret;
}
/*
* Stops the data acquision.
* It should be safe to call this function from any context.
*/
static int usbduxfast_unlink_urbs(struct comedi_device *dev)
static int usbduxfast_ai_stop(struct comedi_device *dev, int do_unlink)
{
struct usbduxfast_private *devpriv = dev->private;
if (devpriv && devpriv->urb) {
devpriv->ai_cmd_running = 0;
/* waits until a running transfer is over */
usb_kill_urb(devpriv->urb);
}
return 0;
}
/*
* This will stop a running acquisition operation.
* Is called from within this driver from both the
* interrupt context and from comedi.
*/
static int usbduxfast_ai_stop(struct comedi_device *dev,
int do_unlink)
{
struct usbduxfast_private *devpriv = dev->private;
int ret = 0;
if (!devpriv) {
pr_err("%s: devpriv=NULL!\n", __func__);
return -EFAULT;
}
/* stop aquistion */
devpriv->ai_cmd_running = 0;
if (do_unlink)
/* stop aquistion */
ret = usbduxfast_unlink_urbs(dev);
if (do_unlink && devpriv->urb) {
/* kill the running transfer */
usb_kill_urb(devpriv->urb);
}
return ret;
return 0;
}
/*
......
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