ALSA: usb-audio: Update the number of packets properly at receiving
authorTakashi Iwai <tiwai@suse.de>
Mon, 16 Feb 2026 14:12:05 +0000 (15:12 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 16 Feb 2026 14:13:17 +0000 (15:13 +0100)
At receiving the packets from the implicit feedback source, we didn't
update ctx->packets field but only the ctx->packet_size[] data.
In exceptional cases, this might lead to unexpectedly superfluous data
transfer (although this won't happen usually due to the nature of USB
isochronous transfer).  Fix it to update the field properly.

Link: https://patch.msgid.link/20260216141209.1849200-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/endpoint.c

index 8f93138..27ade2a 100644 (file)
@@ -481,6 +481,7 @@ int snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep,
 
                /* copy over the length information */
                if (implicit_fb) {
+                       ctx->packets = packet->packets;
                        for (i = 0; i < packet->packets; i++)
                                ctx->packet_size[i] = packet->packet_size[i];
                }