Hi,
Dne 11. 01. 20 v 10:31 Pavel Hofman napsal(a):
Hi,
Dne 10. 01. 20 v 8:29 Pavel Hofman napsal(a):
Hi,
Together with dwc2 maintainer Minas Harutyunyan we have been
troubleshooting various issues of dwc2 on RPi4. We hit a problem where
the g_audio in capture (EP OUT, playback from USB host) requests req->
length larger than maxpacket*mc.
My question relates to the recent patch
https://marc.info/?l=linux-usb&m=157901102706577&w=2
IMO the problem is here
https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L675
:
However, a few lines later the agdev->out_ep_maxpsize is set as maximum
from these two values
https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L700
:
agdev->out_ep_maxpsize = max_t(u16,
le16_to_cpu(fs_epout_desc.wMaxPacketSize),
le16_to_cpu(hs_epout_desc.wMaxPacketSize));
Unfortunately I do not know the reason for selection of the maximum
value from FS and HS, I cannot create a patch. Very likely there is more
hidden know-how which I do not know.
Please can we solve this issue so that the gadget can work for any
bInterval value?
Thanks a lot,
Pavel.