[alsa-devel] [PATCH 3/3] ALSA: usb: fine-tune Tenor error compensation value
Daniel Mack
daniel at zonque.org
Mon Aug 22 08:53:38 CEST 2016
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 at gmx.net>
Reported-and-tested-by: Thomas Gresens <T.Gresens at intershop.de>
Signed-off-by: Daniel Mack <daniel at zonque.org>
---
sound/usb/endpoint.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index c317a8d..c470251 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
--
2.5.5
More information about the Alsa-devel
mailing list