public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] usb: gadget: call usb_gadget_check_config() to verify UDC capability
@ 2023-07-07 23:00 Frank Li
  2023-07-07 23:00 ` [PATCH v2 2/2] usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config Frank Li
  2023-07-25 14:37 ` [PATCH v2 1/2] usb: gadget: call usb_gadget_check_config() to verify UDC capability Frank Li
  0 siblings, 2 replies; 7+ messages in thread
From: Frank Li @ 2023-07-07 23:00 UTC (permalink / raw)
  To: frank.li
  Cc: Thinh.Nguyen, andriy.shevchenko, gregkh, imx, jgilab, jun.li,
	linux-kernel, linux-usb, peter.chen, quic_eserrao, quic_prashk,
	r-gunasekaran, rogerq

The legacy gadget driver omitted calling usb_gadget_check_config()
to ensure that the USB device controller (UDC) has adequate resources,
including sufficient endpoint numbers and types, to support the given
configuration.

Previously, usb_add_config() was solely invoked by the legacy gadget
driver. Adds the necessary usb_gadget_check_config() after the bind()
operation to fix the issue.

Fixes: dce49449e04f ("usb: cdns3: allocate TX FIFO size according to composite EP number")
Reported-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
change from v1 to v2
- not change for this patch, just add new patch to fix multi-config case

 drivers/usb/gadget/composite.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 403563c06477..cb0a4e2cdbb7 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -1029,6 +1029,10 @@ int usb_add_config(struct usb_composite_dev *cdev,
 		goto done;
 
 	status = bind(config);
+
+	if (status == 0)
+		status = usb_gadget_check_config(cdev->gadget);
+
 	if (status < 0) {
 		while (!list_empty(&config->functions)) {
 			struct usb_function		*f;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-07-25 15:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-07 23:00 [PATCH v2 1/2] usb: gadget: call usb_gadget_check_config() to verify UDC capability Frank Li
2023-07-07 23:00 ` [PATCH v2 2/2] usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config Frank Li
     [not found]   ` <f803653c-8967-b187-8339-fbec0cdeef25@web.de>
2023-07-09  8:06     ` Greg Kroah-Hartman
2023-07-10  3:38   ` Peter Chen
2023-07-10 11:14   ` Ravi Gunasekaran
2023-07-25 14:37 ` [PATCH v2 1/2] usb: gadget: call usb_gadget_check_config() to verify UDC capability Frank Li
2023-07-25 15:09   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox