In customer system, connect a USB HUB(USB2517i) on USB1 which has 7 ports. connected 5 modules, one module is USB to 3*UART converter, each UART need 3 endpoint(interrupt, RX, TX), so each module need 9 endpoint.
When connect 4 module need 36 endpoint, will it result in out of resource?
Below is USB module initialization message:
[ 453.113981] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 453.127726] usb 2-1.3: Product: GD32 Trible CDC
[ 453.132304] usb 2-1.3: Manufacturer: GigaDevice
[ 453.137652] usb 2-1.3: SerialNumber: GD32E10X-V2.0.0-4b5c6de
[ 453.150852] cdc_acm 2-1.3:1.0: ttyACM7: USB ACM device
[ 453.179116] cdc_acm 2-1.3:1.2: ttyACM8: USB ACM device
[ 453.251910] cdc_acm 2-1.3:1.4: ttyACM9: USB ACM device
It is OK to install and uninstall 4 modules, can observe all detected UART devices under /dev, and can communicate with 3 modules normally. but when communicate with the 4th module, reports below errors:
[ 103.483217] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
[ 104.741250] musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8
[ 104.741295] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
[ 105.325624] musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8
[ 105.325670] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
[ 112.055419] musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8
[ 112.055467] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
[ 112.921202] musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8
[ 112.921245] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
[ 113.689117] musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8
[ 113.689164] cdc_acm 2-1.5:1.4: acm_port_activate - usb_submit_urb(ctrl irq) failed
The message: musb-hdrc musb-hdrc.1: int hwep alloc failed for 1x8 locates in line 2152 of musb_host.c
If out of limited endpoint, can driver support dynamically endpoint assignment?