ALSA: usb-audio: Rate limit usb_set_interface error reporting
authorChris Down <chris@chrisdown.name>
Fri, 21 Apr 2023 14:38:41 +0000 (15:38 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 21 Apr 2023 15:07:28 +0000 (17:07 +0200)
commit2db2be5607c4508c37705d604437b43a99b4791f
tree0964ccfd740f75da9cd0c6091c569611df31cbfe
parent4d421eebe1465d94b95867dd025385dc3d661f9b
ALSA: usb-audio: Rate limit usb_set_interface error reporting

When an error occurs during USB disconnection sometimes things can go
wrong as endpoint_set_interface may end up being called repeatedly. For
example:

% dmesg --notime | grep 'usb 3-7.1.4' | sort | uniq -c | head -2
   3069 usb 3-7.1.4: 1:1: usb_set_interface failed (-19)
    908 usb 3-7.1.4: 1:1: usb_set_interface failed (-71)

In my case, there sometimes are hundreds of these usb_set_interface
failure messages a second when I disconnect the hub that has my USB
audio device.

These messages can take a huge amount of the kmsg ringbuffer and don't
provide any extra information over the previous ones, so ratelimit them.

Signed-off-by: Chris Down <chris@chrisdown.name>
Link: https://lore.kernel.org/r/ZEKf8UYBYa1h4JWR@chrisdown.name
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/endpoint.c
sound/usb/usbaudio.h