linux/sound
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
..
aoa ALSA: aoa: Convert onyx and tas codec drivers to module_i2c_driver 2012-01-27 15:18:28 +01:00
arm ALSA: pxa27x: fix ac97 warm reset 2013-01-17 08:50:55 -08:00
atmel dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes 2012-02-22 18:15:39 +05:30
core vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper 2013-04-25 21:19:56 -07:00
drivers ALSA: aloop - add locking to timer access 2012-10-13 05:38:51 +09:00
firewire IEEE 1394 (FireWire) subsystem updates post v3.3: 2012-03-22 20:31:15 -07:00
i2c [media] tea575x: fix HW seek 2012-03-19 11:28:52 -03:00
isa ALSA: sound/isa/sscape.c: add missing resource-release code 2012-04-10 08:42:07 +02:00
mips ALSA: Convert mips directory to module_platform_driver 2011-11-24 13:03:02 +01:00
oss sound: sound/oss/msnd_pinnacle.c: add vfrees 2012-04-10 08:41:54 +02:00
parisc
pci ALSA: HDA: Fix Oops caused by dereference NULL pointer 2013-05-19 10:54:36 -07:00
pcmcia ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
ppc Merge branch 'topic/misc' into for-linus 2012-01-12 09:59:14 +01:00
sh ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
soc ASoC: wm8994: missing break in wm8994_aif3_hw_params() 2013-05-19 10:54:34 -07:00
sparc ALSA: module_param: make bool parameters really bool 2011-12-19 10:34:41 +01:00
spi ALSA: Convert at73c213 to module_spi_driver 2012-01-27 15:18:36 +01:00
synth sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where needed 2011-10-31 19:31:22 -04:00
usb ALSA: usb-audio: work around Android accessory firmware bug 2013-06-27 11:27:30 -07:00
ac97_bus.c
Kconfig um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
last.c ALSA: workaround: change the timing of alsa_sound_last_init() 2012-04-19 13:51:54 +02:00
Makefile
sound_core.c switch device_get_devnode() and ->devnode() to umode_t * 2012-01-03 22:54:55 -05:00
sound_firmware.c