summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2016-08-22 02:53:38 -0400
committerTakashi Iwai <tiwai@suse.de>2016-08-22 05:40:04 -0400
commit36e1ac3cf880fb9dbb528c41ebde567ca17d4a84 (patch)
treecb98b1ab40162c3289e803d86efcebac1e943422
parentca0dd2736a05d1df94c8657b4865f9d6c6637085 (diff)
ALSA: usb: fine-tune Tenor error compensation value
Users of devices affected by the Tenor feedback data error report buffer underruns, even with the +/- 0x1.0000 quirk applied. Compensating the error with 0xf000 instead seems to reliably fix that issue. See https://sourceforge.net/p/alsa/mailman/message/35230259/ Reported-and-tested-by: Norman Nolte <norman.nolte@gmx.net> Reported-and-tested-by: Thomas Gresens <T.Gresens@intershop.de> Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/endpoint.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index c317a8d530cc..c470251cea4b 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -1174,9 +1174,9 @@ void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
1174 * by +/- 0x1.0000. 1174 * by +/- 0x1.0000.
1175 */ 1175 */
1176 if (f < ep->freqn - 0x8000) 1176 if (f < ep->freqn - 0x8000)
1177 f += 0x10000; 1177 f += 0xf000;
1178 else if (f > ep->freqn + 0x8000) 1178 else if (f > ep->freqn + 0x8000)
1179 f -= 0x10000; 1179 f -= 0xf000;
1180 } else if (unlikely(ep->freqshift == INT_MIN)) { 1180 } else if (unlikely(ep->freqshift == INT_MIN)) {
1181 /* 1181 /*
1182 * The first time we see a feedback value, determine its format 1182 * The first time we see a feedback value, determine its format