static int stk1160_stop_streaming(struct stk1160 *dev) { if (mutex_lock_interruptible(&dev->v4l_lock)) return -ERESTARTSYS; /* * Once URBs are cancelled, the URB complete handler * won't be running. This is required to safely release the * current buffer (dev->isoc_ctl.buf). */ stk1160_cancel_isoc(dev); /* * It is possible to keep buffers around using a module parameter. * This is intended to avoid memory fragmentation. */ if (!keep_buffers) stk1160_free_isoc(dev); stk1160_stop_hw(dev); stk1160_clear_queue(dev); stk1160_dbg("streaming stopped\n"); mutex_unlock(&dev->v4l_lock); return 0; }
static int stk1160_stop_streaming(struct stk1160 *dev) { if (mutex_lock_interruptible(&dev->v4l_lock)) return -ERESTARTSYS; stk1160_cancel_isoc(dev); /* * It is possible to keep buffers around using a module parameter. * This is intended to avoid memory fragmentation. */ if (!keep_buffers) stk1160_free_isoc(dev); stk1160_stop_hw(dev); stk1160_clear_queue(dev); stk1160_dbg("streaming stopped\n"); mutex_unlock(&dev->v4l_lock); return 0; }