]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ALSA: usb: Increase volume range that triggers a warning
authorArun Raghavan <arunr@valvesoftware.com>
Fri, 16 Jan 2026 22:58:04 +0000 (14:58 -0800)
committerTakashi Iwai <tiwai@suse.de>
Sat, 17 Jan 2026 08:30:15 +0000 (09:30 +0100)
On at least the HyperX Cloud III, the range is 18944 (-18944 -> 0 in
steps of 1), so the original check for 255 steps is definitely obsolete.
Let's give ourselves a little more headroom before we emit a warning.

Fixes: 80acefff3bc7 ("ALSA: usb-audio - Add volume range check and warn if it too big")
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: linux-sound@vger.kernel.org
Signed-off-by: Arun Raghavan <arunr@valvesoftware.com>
Link: https://patch.msgid.link/20260116225804.3845935-1-arunr@valvesoftware.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer.c

index 3af71d42b9b9aac1b4efd5c77262307b67c852bd..90917c6ea871b4baa2b30cc85379a2a4289275e4 100644 (file)
@@ -1813,11 +1813,10 @@ static void __build_feature_ctl(struct usb_mixer_interface *mixer,
 
        range = (cval->max - cval->min) / cval->res;
        /*
-        * Are there devices with volume range more than 255? I use a bit more
-        * to be sure. 384 is a resolution magic number found on Logitech
-        * devices. It will definitively catch all buggy Logitech devices.
+        * There are definitely devices with a range of ~20,000, so let's be
+        * conservative and allow for a bit more.
         */
-       if (range > 384) {
+       if (range > 65535) {
                usb_audio_warn(mixer->chip,
                               "Warning! Unlikely big volume range (=%u), cval->res is probably wrong.",
                               range);