Re: usb:gadget:f_uac2: EP OUT is adaptive instead of async

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

 




Dne 06. 02. 20 v 16:41 Greg KH napsal(a):
On Thu, Feb 06, 2020 at 02:22:47PM +0100, Pavel Hofman wrote:
Hi,

The existing UAC2 implementation presents itself as asynchronous
USB_ENDPOINT_SYNC_ASYNC https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L276
+ https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uac2.c#L285
.

However:
1) The function does not define any feedback endpoint

2) IMO in reality it is adaptive - the g_audio capture device accepts any
data passed by the USB host, the USB host is the one which defines the data
pace.

While Linux and reportedly OSX accept the async EP OUT without explicit
feedback EP IN, Windows does not.

Simply changing USB_ENDPOINT_SYNC_ASYNC to USB_ENDPOINT_SYNC_ADAPTIVE for
the FS and HS output endpoints fixes the windows problem and IMO corrects
the config to reflect real function.

There are multiple projects underway adding the async feedback EP, but in
the meantime I think the .bmAttributes information should be changed as
above, making the device usable in Windows for everyone.

Thanks a lot for considering.

Patches work best, can you create them and test and then submit?


No problem, I have tested for a few months. I just did not know if you would accept such change. I will send the patch then :-)

Thanks,

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