diff options
Diffstat (limited to 'sound/usb/line6/playback.c')
-rw-r--r-- | sound/usb/line6/playback.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/sound/usb/line6/playback.c b/sound/usb/line6/playback.c index d619c1718306..3820ed08b342 100644 --- a/sound/usb/line6/playback.c +++ b/sound/usb/line6/playback.c | |||
@@ -290,58 +290,6 @@ int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm) | |||
290 | return 0; | 290 | return 0; |
291 | } | 291 | } |
292 | 292 | ||
293 | /* | ||
294 | Unlink all currently active playback URBs. | ||
295 | */ | ||
296 | void line6_unlink_audio_out_urbs(struct snd_line6_pcm *line6pcm) | ||
297 | { | ||
298 | unsigned int i; | ||
299 | |||
300 | for (i = 0; i < LINE6_ISO_BUFFERS; i++) { | ||
301 | if (test_bit(i, &line6pcm->out.active_urbs)) { | ||
302 | if (!test_and_set_bit(i, &line6pcm->out.unlink_urbs)) { | ||
303 | struct urb *u = line6pcm->out.urbs[i]; | ||
304 | |||
305 | usb_unlink_urb(u); | ||
306 | } | ||
307 | } | ||
308 | } | ||
309 | } | ||
310 | |||
311 | /* | ||
312 | Wait until unlinking of all currently active playback URBs has been | ||
313 | finished. | ||
314 | */ | ||
315 | void line6_wait_clear_audio_out_urbs(struct snd_line6_pcm *line6pcm) | ||
316 | { | ||
317 | int timeout = HZ; | ||
318 | unsigned int i; | ||
319 | int alive; | ||
320 | |||
321 | do { | ||
322 | alive = 0; | ||
323 | for (i = 0; i < LINE6_ISO_BUFFERS; i++) { | ||
324 | if (test_bit(i, &line6pcm->out.active_urbs)) | ||
325 | alive++; | ||
326 | } | ||
327 | if (!alive) | ||
328 | break; | ||
329 | set_current_state(TASK_UNINTERRUPTIBLE); | ||
330 | schedule_timeout(1); | ||
331 | } while (--timeout > 0); | ||
332 | if (alive) | ||
333 | snd_printk(KERN_ERR "timeout: still %d active urbs..\n", alive); | ||
334 | } | ||
335 | |||
336 | /* | ||
337 | Unlink all currently active playback URBs, and wait for finishing. | ||
338 | */ | ||
339 | void line6_unlink_wait_clear_audio_out_urbs(struct snd_line6_pcm *line6pcm) | ||
340 | { | ||
341 | line6_unlink_audio_out_urbs(line6pcm); | ||
342 | line6_wait_clear_audio_out_urbs(line6pcm); | ||
343 | } | ||
344 | |||
345 | void line6_free_playback_buffer(struct snd_line6_pcm *line6pcm) | 293 | void line6_free_playback_buffer(struct snd_line6_pcm *line6pcm) |
346 | { | 294 | { |
347 | kfree(line6pcm->out.buffer); | 295 | kfree(line6pcm->out.buffer); |