[PATCH 5.15 009/207] ALSA: usb-audio: Fix packet size calculation regression – Linux-stable-mirror

From: Takashi Iwai [email protected]

commit 23939115be181bc5dbc33aa8471adcdbffa28910 upstream.

The commit d215f63d49da (“ALSA: usb-audio: Check available frames for
the next packet size”) introduced the available frame size check, but
the conversion forgot to initialize the temporary variable properly,
and it resulted in a bogus calculation. This patch fixes it.

Fixes: d215f63d49da (“ALSA: usb-audio: Check available frames for the next packet size”)
Reported-by: Colin Ian King [email protected]
Link: lore.kernel.org/r/[email protected]
Link: lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai [email protected]
Signed-off-by: Greg Kroah-Hartman [email protected]
—
sound/usb/endpoint.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

— a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -182,7 +182,7 @@ static int next_packet_size(struct snd_u
if (ep->fill_max)
return ep->maxframesize;

– sample_accum += ep->sample_rem;
+ sample_accum = ep->sample_accum + ep->sample_rem;
if (sample_accum >= ep->pps) {
sample_accum -= ep->pps;
ret = ep->packsize[1];

Read more here: Source link