diff options
Diffstat (limited to '0003-ALSA-usb-audio-Fix-packet-size-calculation.patch')
-rw-r--r-- | 0003-ALSA-usb-audio-Fix-packet-size-calculation.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/0003-ALSA-usb-audio-Fix-packet-size-calculation.patch b/0003-ALSA-usb-audio-Fix-packet-size-calculation.patch new file mode 100644 index 0000000..b75ab48 --- /dev/null +++ b/0003-ALSA-usb-audio-Fix-packet-size-calculation.patch @@ -0,0 +1,35 @@ +From 17c5f7dd425becd30c4a2dafaecb054641a1fdc9 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy <alexander@tsoy.me> +Date: Mon, 29 Jun 2020 05:59:33 +0300 +Subject: ALSA: usb-audio: Fix packet size calculation + +Commit f0bd62b64016 ("ALSA: usb-audio: Improve frames size computation") +introduced a regression for devices which have playback endpoints with +bInterval > 1. Fix this by taking ep->datainterval into account. + +Note that frame and fps are actually mean packet and packets per second +in the code introduces by the mentioned commit. This will be fixed in a +follow-up patch. + +Fixes: f0bd62b64016 ("ALSA: usb-audio: Improve frames size computation") +BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=208353 +Signed-off-by: Alexander Tsoy <alexander@tsoy.me> +--- + sound/usb/endpoint.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c +index 9bea7d3f99f8..11f23778f0a5 100644 +--- a/sound/usb/endpoint.c ++++ b/sound/usb/endpoint.c +@@ -1093,6 +1093,7 @@ int snd_usb_endpoint_set_params(struct snd_usb_endpoint *ep, + ep->freqn = get_usb_high_speed_rate(rate); + ep->fps = 8000; + } ++ ep->fps >>= ep->datainterval; + + ep->sample_rem = rate % ep->fps; + ep->framesize[0] = rate / ep->fps; +-- +cgit v1.2.3-1-gf6bb5 + |