ALSA: snd-usb: move calls to usb_set_interface
authorDaniel Mack <zonque@gmail.com>
Thu, 12 Jul 2012 11:08:40 +0000 (13:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 13 Jul 2012 07:31:42 +0000 (09:31 +0200)
commit68e67f40b7343383517c3f951b4b8db7626406bc
treea0562c103da6384a31362d4e1a80b9000f5d53fe
parent9e9b594661e8dee54955607277c937c3ff3a5f01
ALSA: snd-usb: move calls to usb_set_interface

The rework of the snd-usb endpoint logic moved the calls to
snd_usb_set_interface() into the snd_usb_endpoint implemenation. This
changed the order in which these calls are issued to the device, and
thereby caused regressions for some webcams.

Fix this by moving the calls back to pcm.c for now to make it work again
and use snd_usb_endpoint_activate() to really tear down all remaining
URBs in the flight, consequently fixing another regression caused by USB
packets on the wire after altsetting 0 has been selected.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-and-tested-by: Philipp Dreimann <philipp@dreimann.net>
Reported-by: Joseph Salisbury <joseph.salisbury@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/endpoint.c
sound/usb/pcm.c