android_kernel_google_msm/sound/usb
Clemens Ladisch e02a738d98 ALSA: usb-audio: work around Android accessory firmware bug
commit 342cda2934 upstream.

When the Android firmware enables the audio interfaces in accessory
mode, it always declares in the control interface's baInterfaceNr array
that interfaces 0 and 1 belong to the audio function.  However, the
accessory interface itself, if also enabled, already is at index 0 and
shifts the actual audio interface numbers to 1 and 2, which prevents the
PCM streaming interface from being seen by the host driver.

To get the PCM interface interface to work, detect when the descriptors
point to the (for this driver useless) accessory interface, and redirect
to the correct one.

Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr>
Tested-by: Jeremy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-27 11:27:30 -07:00
..
6fire ALSA: snd-usb-6fire: add analog input volume control 2012-02-22 15:51:26 +01:00
caiaq ALSA: snd-usb-caiaq: initialize card pointer 2012-12-03 11:46:36 -08:00
misc
usx2y ALSA: usx2y: Fix typo in usbusx2yaudio.c and usx2yhwdeppcm.c 2012-02-15 14:56:11 +01:00
card.c ALSA: usb-audio: work around Android accessory firmware bug 2013-06-27 11:27:30 -07:00
card.h ALSA: usb-audio: Fix races at disconnection 2012-11-17 13:16:12 -08:00
clock.c ALSA: snd-usb: fix clock source validity index 2012-08-09 08:31:51 -07:00
clock.h
debug.h
endpoint.c ALSA: usb-audio: Fix regression by disconnection-race-fix patch 2013-01-27 20:47:44 -08:00
endpoint.h
format.c ALSA: usb-audio: avoid integer overflow in create_fixed_stream_quirk() 2012-02-15 14:58:15 +01:00
format.h
helper.c
helper.h
Kconfig ALSA: snd-usb-6fire: Select missing SND_VMASTER option in Kconfig 2012-02-25 11:07:19 +01:00
Makefile
midi.c ALSA: usb-audio: disable autopm for MIDI devices 2013-05-07 19:51:55 -07:00
midi.h
mixer.c ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam c310 2013-06-27 11:27:30 -07:00
mixer.h
mixer_maps.c
mixer_quirks.c ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* 2013-04-16 21:27:25 -07:00
mixer_quirks.h
pcm.c ALSA: usb-audio: Use rwsem for disconnect protection 2012-11-17 13:16:12 -08:00
pcm.h
power.h
proc.c ALSA: usb-audio: Fix races at disconnection 2012-11-17 13:16:12 -08:00
proc.h
quirks-table.h ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio iface 2013-06-13 09:44:53 -07:00
quirks.c ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* 2013-04-16 21:27:25 -07:00
quirks.h
stream.c ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT 2013-05-07 19:51:55 -07:00
stream.h
usbaudio.h ALSA: usb-audio: Use rwsem for disconnect protection 2012-11-17 13:16:12 -08:00