Message ID | 1669193290-24263-1-git-send-email-quic_prashk@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints | expand |
On Wed, Nov 23, 2022 at 02:18:10PM +0530, Prashanth K wrote: > Currently connect/disconnect of USB cable calls afunc_bind and > eventually increments the bNumEndpoints. And performing multiple > plugin/plugout will incorrectly increment bNumEndpoints on the > next plug-in leading to invalid configuration of descriptor and > hence enumeration failure. > > Fix this by resetting the value of bNumEndpoints to 1 on every > afunc_bind call. > > Signed-off-by: Pratham Pratap <quic_ppratap@quicinc.com> > Signed-off-by: Prashanth K <quic_prashk@quicinc.com> Who authored this, Pratham or you? And why no "[PATCH]" in the subject line? What commit id does this fix? thanks, greg k-h
On 23-12-22 08:26 pm, Greg Kroah-Hartman wrote: > On Wed, Nov 23, 2022 at 02:18:10PM +0530, Prashanth K wrote: >> Currently connect/disconnect of USB cable calls afunc_bind and >> eventually increments the bNumEndpoints. And performing multiple >> plugin/plugout will incorrectly increment bNumEndpoints on the >> next plug-in leading to invalid configuration of descriptor and >> hence enumeration failure. >> >> Fix this by resetting the value of bNumEndpoints to 1 on every >> afunc_bind call. >> >> Signed-off-by: Pratham Pratap <quic_ppratap@quicinc.com> >> Signed-off-by: Prashanth K <quic_prashk@quicinc.com> > > Who authored this, Pratham or you? > Its authored by Pratham, but I'm upstreaming it. > And why no "[PATCH]" in the subject line? > I was under the impression that [PATCH] is not used for v1. Will fix this in next patch > What commit id does this fix? > Will add the Fixes tag also in next patch > thanks, > > greg k-h Thanks Prashanth K
diff --git a/drivers/usb/gadget/function/f_uac2.c b/drivers/usb/gadget/function/f_uac2.c index 08726e4..0219cd7 100644 --- a/drivers/usb/gadget/function/f_uac2.c +++ b/drivers/usb/gadget/function/f_uac2.c @@ -1142,6 +1142,7 @@ afunc_bind(struct usb_configuration *cfg, struct usb_function *fn) } std_as_out_if0_desc.bInterfaceNumber = ret; std_as_out_if1_desc.bInterfaceNumber = ret; + std_as_out_if1_desc.bNumEndpoints = 1; uac2->as_out_intf = ret; uac2->as_out_alt = 0;