ALSA: usb-audio: work around corrupted TEAC UD-H01 feedback data
authorClemens Ladisch <clemens@ladisch.de>
Thu, 1 May 2014 10:20:22 +0000 (12:20 +0200)
committerJiri Slaby <jslaby@suse.cz>
Fri, 6 Jun 2014 10:38:22 +0000 (12:38 +0200)
commitfde051cada91a1ae03eec8b8dd13b09379cf9dbf
treeb7536a66628dc894a9b0b5283bc2ab1600b59078
parent07aac1cd8fa963f5ee0519106b46a2c955ad2f18
ALSA: usb-audio: work around corrupted TEAC UD-H01 feedback data

commit 7040b6d1febfdbd9c1595efb751d492cd2503f96 upstream.

The TEAC UD-H01 firmware sends wrong feedback frequency values, thus
causing the PC to send the samples at a wrong rate, which results in
clicks and crackles in the output.

Add a workaround to detect and fix the corruption.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
[mick37@gmx.de: use sender->udh01_fb_quirk rather than
 ep->udh01_fb_quirk in snd_usb_handle_sync_urb()]
Reported-and-tested-by: Mick <mick37@gmx.de>
Reported-and-tested-by: Andrea Messa <andr.messa@tiscali.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
sound/usb/card.h
sound/usb/endpoint.c