[PATCH v2] usb: gadget: Increase max configuration interface to 32

From: Akash Kumar
Date: Tue May 21 2024 - 01:43:39 EST


Currently, max configuration interfaces are limited to 16, which fails
for compositions containing 10 UVC configurations with interrupt ep
disabled along with other configurations , and we see bind failures
while allocating interface ID in uvc bind.

Increase max configuration interface to 32 to support any large
compositions, limited to the same size as USB device endpoints, as
interfaces cannot be more than endpoints.

Signed-off-by: Akash Kumar <quic_akakum@xxxxxxxxxxx>
---
include/linux/usb/composite.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h
index 2040696d75b6..d6d4fbfb6d0e 100644
--- a/include/linux/usb/composite.h
+++ b/include/linux/usb/composite.h
@@ -255,7 +255,7 @@ int config_ep_by_speed_and_alt(struct usb_gadget *g, struct usb_function *f,
int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f,
struct usb_ep *_ep);

-#define MAX_CONFIG_INTERFACES 16 /* arbitrary; max 255 */
+#define MAX_CONFIG_INTERFACES 32

/**
* struct usb_configuration - represents one gadget configuration
--
2.17.1