Re: USB:UAC2: Incorrect req->length > maxpacket*mc - cause likely found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux