diff options
author | Daniel Mack <daniel@zonque.org> | 2016-08-22 08:53:38 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2016-08-22 11:40:04 +0200 |
commit | 36e1ac3cf880fb9dbb528c41ebde567ca17d4a84 (patch) | |
tree | cb98b1ab40162c3289e803d86efcebac1e943422 /sound/usb | |
parent | ca0dd2736a05d1df94c8657b4865f9d6c6637085 (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>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/endpoint.c | 4 |
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, * by +/- 0x1.0000. */ if (f < ep->freqn - 0x8000) - f += 0x10000; + f += 0xf000; else if (f > ep->freqn + 0x8000) - f -= 0x10000; + f -= 0xf000; } else if (unlikely(ep->freqshift == INT_MIN)) { /* * The first time we see a feedback value, determine its format |