UPSTREAM: usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints
Currently afunc_bind sets std_ac_if_desc.bNumEndpoints to 1 if
controls (mute/volume) are enabled. During next afunc_bind call,
bNumEndpoints would be unchanged and incorrectly set to 1 even
if the controls aren't enabled.
Fix this by resetting the value of bNumEndpoints to 0 on every
afunc_bind call.
Bug: 254441685
Fixes: eaf6cbe09920 ("usb: gadget: f_uac2: add volume and mute support")
Cc: stable <stable@kernel.org>
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
Link: https://lore.kernel.org/r/20241211115915.159864-1-quic_prashk@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 057bd54dfcf68b1f67e6dfc32a47a72e12198495)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1da43996d35411850984b6a9a9f79ef4dc63b5b5
This commit is contained in:
committed by
Treehugger Robot
parent
e715fae579
commit
e386309e11
@@ -1131,6 +1131,7 @@ afunc_bind(struct usb_configuration *cfg, struct usb_function *fn)
|
||||
uac2->as_in_alt = 0;
|
||||
}
|
||||
|
||||
std_ac_if_desc.bNumEndpoints = 0;
|
||||
if (FUOUT_EN(uac2_opts) || FUIN_EN(uac2_opts)) {
|
||||
uac2->int_ep = usb_ep_autoconfig(gadget, &fs_ep_int_desc);
|
||||
if (!uac2->int_ep) {
|
||||
|
||||
Reference in New Issue
Block a user