retire_capture_urb: Corrected urb data len

Sean Anderson sean.anderson at seco.com
Thu Sep 1 17:25:41 CEST 2022



On 8/28/22 3:49 AM, Takashi Iwai wrote:
> On Fri, 26 Aug 2022 20:57:53 +0200,
> Sean Anderson wrote:
>> 
>> On 8/26/22 12:36 PM, Takashi Iwai wrote:
>> > On Fri, 26 Aug 2022 18:22:24 +0200,
>> > Sean Anderson wrote:
>> >> 
>> >> Hi all,
>> >> 
>> >> I have a "FiiO DigiHug USB Audio" sound card (1852:7022) [3]. I have had
>> >> no problems with the audio, but I did notice a large number of message
>> >> like 
>> >> 
>> >> retire_capture_urb: 4992 callbacks suppressed
>> >> 
>> >> in my dmesg [1]. This is caused by the "Corrected urb data len."
>> >> warning.
>> > 
>> > What exact values are shown there?
>> 
>> Unfortunately, as detailed below, I was unable to turn off ratelimiting.
>> 
>> > The problem is that your hardware
>> > (likely a buggy firmware) returns the unaligned size of bytes as the
>> > data.  Maybe it's worth to replace dev_warn_ratelimited() there with
>> > dev_warn() and take all warnings once.  Then we can see what kind of
>> > values are delivered from the hardware.
>> 
>> I'll have an attempt at that next week
>> 
>> >> The patch adding this warning [2] makes it seem like
>> >> this warning should be an uncommon occurance. However, based on the
>> >> number of suppressed callbacks, this seems to be happening at a rate of
>> >> around 500 Hz.
>> >> 
>> >> Is this buggy hardware? Or is this a bug in the driver? Does there need
>> >> to be a quirk? Or perhaps the warning above should be a debug instead?
>> > 
>> > There is no quirk for that.  As long as the device works with that
>> > workaround (except for messages), we can simply add a quirk to not
>> > warn but always apply the workaround silently for such devices.
>> 
>> OK. I wasn't sure what the correct resolution would be.
> 
> Actually I was wrong: the existing quirk QUIRK_FLAG_ALIGN_TRANSFER
> should cover that.
> 
> Could you try to pass quirk_flags=0x04 for the corresponding card slot
> (the option takes an array) to snd-usb-audio module?  Alternatively,
> try to pass quirk_alias=18557022:0e510408 to snd-usb-audio?

I tried both options, but neither worked.

--Sean


More information about the Alsa-devel mailing list