diff --git a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c index e1c37876e3ee741a7f0bd30e741c99c5adbdb63f..dd4f177a9840a4c0823ae26ca5c177a4162ca3d1 100644 --- a/drivers/staging/comedi/drivers/usbduxfast.c +++ b/drivers/staging/comedi/drivers/usbduxfast.c @@ -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; } /*