summaryrefslogtreecommitdiffstats
path: root/sound/usb/endpoint.c
diff options
context:
space:
mode:
authorAlexander Tsoy <alexander@tsoy.me>2020-06-29 05:59:33 +0300
committerTakashi Iwai <tiwai@suse.de>2020-06-30 19:46:48 +0200
commit695cf5ab401c1a368fed228ee4a624784cd17fc5 (patch)
treeaeeea43edf7439b9213fe167db80493ab044285f /sound/usb/endpoint.c
parent6a6ca7881b1ab1c13fe0d70bae29211a65dd90de (diff)
downloadlinux-695cf5ab401c1a368fed228ee4a624784cd17fc5.tar.bz2
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> Link: https://lore.kernel.org/r/20200629025934.154288-1-alexander@tsoy.me Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/endpoint.c')
-rw-r--r--sound/usb/endpoint.c1
1 files changed, 1 insertions, 0 deletions
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;