Messages in this thread | | | From | Matteo Martelli <> | Subject | [PATCH 0/1] ALSA: usb-audio: generic implicit fb parser fails with M-Audio FastTrack Ultra | Date | Fri, 11 Feb 2022 23:49:12 +0100 |
| |
Hello, I've recently started to experience periodic XRUNs with my M-Audio FastTrack Ultra while using JACK. The XRUNs come systematically at precise intervals, where the period varies from around 1 min to 6 min depending on the jackd buffer settings. I found out that issue is reproducible since commit 83b7dcbc51c930fc2079ab6c6fc9d719768321f1.
It looks like the problem is in the add_generic_implicit_fb() function where (fmt->ep_attr & USB_ENDPOINT_SYNCTYPE) is USB_ENDPOINT_SYNC_ADAPTIVE instead of the expected USB_ENDPOINT_SYNC_ASYNC. This leads to the failure of the snd_usb_parse_implicit_fb_quirk(), so I guess the implicit feedback feature is not used at all, resulting to periodic XRUNs. However, by retrieving the endpoint descriptor with the get_endpoint(alts, 0) macro, the endpoint mbAttributes are correct and match the USB_ENDPOINT_SYNC_ASYNC sync type. Also, the attributes printed by lsusb are again correct showing the "Asynchronous" type. In fact, the sync type is set to adaptive for the M-Audio FastTrack Ultra in the quirks-table.h header file. This was done by the commit 65f04443c96dbda11b8fff21d6390e082846aa3c to work around a playback issue.
I tested my 0x2080 device with the 5.17-rc1, 5.16, 5.11-rc1, 5.10. The issue is reproducible with all of them except for the 5.10 where the implicit feedback was still declared as "fixed". I also had the chance to have the 0x2081 device tested with kernel 5.16, same issue there. The following patch is to revert the implicit feedback to "fixed" for the M-Audio FastTrack Ultra cards until the issue is not entirely covered.
Matteo Martelli (1): ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra
sound/usb/implicit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
-- 2.35.1
| |