Hi Jack,
Dne 24. 09. 21 v 20:46 Jack Pham napsal(a):
Hi Pavel,
Thanks for sending out the patch.
On Fri, Sep 24, 2021 at 10:35:07AM +0200, Pavel Hofman wrote:
Hi Greg,
Dne 24. 09. 21 v 10:20 Greg KH napsal(a):
On Fri, Sep 24, 2021 at 10:00:27AM +0200, Pavel Hofman wrote:
Async feedback patches broke enumeration on Windows 10 previously fixed
by commit 789ea77310f0 ("usb: gadget: f_uac2: always increase endpoint
max_packet_size by one audio slot").
While the existing calculation for EP OUT capture for async mode yields
size+1 frame due to uac2_opts->fb_max > 0, playback side lost the +1
feature. Therefore the +1 frame addition must be re-introduced for
playback. Win10 enumerates the device only when both EP IN and EP OUT
max packet sizes are (at least) +1 frame.
Signed-off-by: Pavel Hofman <pavel.hofman@xxxxxxxxxxx>
Tested-by: Henrik Enquist <henrik.enquist@xxxxxxxxx>
Tested-by: Jack Pham <jackp@xxxxxxxxxxxxxx>
---
drivers/usb/gadget/function/f_uac2.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
What commit does this fix?
IMO it Fixes: e89bb4288378 ("usb: gadget: u_audio: add real feedback
implementation").
Should it go to stable kernel(s)?
Yes, but probably just to 5.14 since the commit I pointed out with the
Fixes tag was introduced in 5.14-rc1 but don't think it was ever
backported to earlier stable kernels.
It's the same effort direction as commit https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/usb/+/f5dfd98a80ff8d50cf4ae2820857d7f5a46cbab9
which you added to your usb-linus branch https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/usb/+log/refs/heads/usb-linus/drivers/usb/gadget/function
Therefore I would say usb-linus.
Please what are your rules for usb-linus and usb-next? There are some
different commits in usb-next and usb-linus changing the same file -
f_uac2.c . Likely not, but a conflict could potentially occur. I do not know
what head to rebase my further patches which also make larger changes to
that file.
Since this is a fix, I'd suggest you base on Greg's usb-linus since
patches queued there will be going out during the current 5.15-rc cycle.
Thanks for the explanation. I do not have any more small patches fixing
the Win10 support now. Patches implementing EP-IN async (Playback Pitch
1000000) and the rebased Julian's multiple samplerates patch will go to
Greg's usb-next and will be rebased on top of your latest SS patches.
Best regards,
Pavel.