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;
 }
 
 /*