linux/sound/usb
Clemens Ladisch 57e6dae108 ALSA: usb-audio: do not trust too-big wMaxPacketSize values
The driver used to assume that the streaming endpoint's wMaxPacketSize
value would be an indication of how much data the endpoint expects or
sends, and compute the number of packets per URB using this value.

However, the Focusrite Scarlett 2i4 declares a value of 1024 bytes,
while only about 88 or 44 bytes are be actually used.  This discrepancy
would result in URBs with far too few packets, which would not work
correctly on the EHCI driver.

To get correct URBs, use wMaxPacketSize only as an upper limit on the
packet size.

Reported-by: James Stone <jamesmstone@gmail.com>
Tested-by: James Stone <jamesmstone@gmail.com>
Cc: <stable@vger.kernel.org> # 2.6.35+
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-08-08 11:37:34 +02:00
..
6fire ALSA: 6fire: fix DMA issues with URB transfer_buffer usage 2013-08-07 16:04:27 +02:00
caiaq ALSA: usb: uniform style used in MODULE_SUPPORTED_DEVICE() 2013-06-21 14:37:08 +02:00
hiface ALSA: hiface: return correct XRUN indication 2013-07-24 10:51:37 +02:00
misc ALSA: ua101: Fix unlocked snd_pcm_stop() call 2013-07-15 21:24:57 +02:00
usx2y ALSA: usx2y: Fix unlocked snd_pcm_stop() call 2013-07-15 21:25:13 +02:00
card.c ALSA: usb-audio: work around Android accessory firmware bug 2013-06-17 09:56:52 +02:00
card.h ALSA: usb-audio: store protocol version in struct audioformat 2013-06-27 21:59:47 +02:00
clock.c ALSA: usb-audio: store protocol version in struct audioformat 2013-06-27 21:59:47 +02:00
clock.h ALSA: usb-audio: UAC2: do clock validity check earlier 2013-04-04 08:30:59 +02:00
debug.h ALSA: usb-audio: make hwc_debug a noop in case HW_CONST_DEBUG is not set 2011-05-18 11:44:35 +02:00
endpoint.c ALSA: usb-audio: do not trust too-big wMaxPacketSize values 2013-08-08 11:37:34 +02:00
endpoint.h ALSA: usb-audio: spelling correction 2013-04-04 08:30:30 +02:00
format.c ALSA: usb-audio: store protocol version in struct audioformat 2013-06-27 21:59:47 +02:00
format.h ALSA: usb-audio: store protocol version in struct audioformat 2013-06-27 21:59:47 +02:00
helper.c ALSA: snd-usb-audio: set the timeout for usb control set messages to 5000 ms 2013-04-22 10:45:02 +02:00
helper.h ALSA: usb-audio: increase control transfer timeout 2011-09-27 09:21:48 +02:00
Kconfig Add M2Tech hiFace USB-SPDIF driver 2013-06-24 09:26:08 +02:00
Makefile Add M2Tech hiFace USB-SPDIF driver 2013-06-24 09:26:08 +02:00
midi.c ALSA: usb-audio: add MIDI port names for some Roland devices 2013-06-27 21:59:48 +02:00
midi.h ALSA: usb-audio: add support for Akai MPD16 2010-05-21 17:12:30 +02:00
mixer_maps.c ALSA: usb-audio: add support for M-Audio FT C600 2013-02-11 14:02:27 +01:00
mixer_quirks.c ALSA: usb-audio: Add Audio Advantage Micro II 2013-06-28 13:37:12 +02:00
mixer_quirks.h ALSA: usb-mixer: factor out quirks 2010-03-12 12:20:26 +01:00
mixer.c ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam c310 2013-06-17 10:25:02 +02:00
mixer.h ALSA: usb-audio: add control index offset 2012-11-29 08:43:12 +01:00
pcm.c ALSA: usb-audio: detect implicit feedback on Roland devices 2013-06-27 21:59:47 +02:00
pcm.h ALSA: usb: refine delay information with USB frame counter 2011-09-12 10:30:20 +02:00
power.h ALSA: usbaudio: implement USB autosuspend 2011-03-11 14:59:29 +01:00
proc.c ALSA: usb-audio: proc: use found syncmaxsize to determine feedback format 2013-05-17 08:05:34 +02:00
proc.h ALSA: usb-audio: refactor code 2010-03-05 08:17:14 +01:00
quirks-table.h ALSA: usb-audio: Add Audio Advantage Micro II 2013-06-28 13:37:12 +02:00
quirks.c ALSA: usb-audio: fix regression for fixed stream quirk 2013-07-10 17:52:14 +02:00
quirks.h ALSA: snd-usb: add quirks handler for DSD streams 2013-04-18 10:03:53 +02:00
stream.c ALSA: usb-audio: add support for many Roland/Yamaha devices 2013-06-27 21:59:48 +02:00
stream.h ALSA: snd-usb: re-order code 2011-09-14 17:07:02 +02:00
usbaudio.h ALSA: usb-audio: add support for many Roland/Yamaha devices 2013-06-27 21:59:48 +02:00