]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
ALSA: usb-audio: Check max frame size for implicit feedback mode, too
authorTakashi Iwai <tiwai@suse.de>
Wed, 25 Feb 2026 08:52:29 +0000 (09:52 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 25 Feb 2026 09:17:28 +0000 (10:17 +0100)
When the packet sizes are taken from the capture stream in the
implicit feedback mode, the sizes might be larger than the upper
boundary defined by the descriptor.  As already done for other
transfer modes, we have to cap the sizes accordingly at sending,
otherwise this would lead to an error in USB core at submission of
URBs.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221076
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260225085233.316306-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/endpoint.c

index c887c2f5b25dca6b3eebd18002f5d81f989ca590..2e70dbc479b4dadc751f10b5dacf991648fd178d 100644 (file)
@@ -221,6 +221,7 @@ int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep,
 
        packet = ctx->packet_size[idx];
        if (packet) {
+               packet = min(packet, ep->maxframesize);
                if (avail && packet >= avail)
                        return -EAGAIN;
                return packet;