Re: [PATCH] selftests/alsa: Fix the step check for INTEGER controls
From: Takashi Iwai
Date: Thu Sep 03 2026 - 12:22:03 EST
On Thu, 03 Sep 2026 14:38:32 +0200,
HyeongJun An wrote:
>
> The modulo sits inside the subtraction, so the check evaluates
> int_val - (min % step) rather than (int_val - min) % step. The
> INTEGER64 branch below it is parenthesised correctly.
>
> The written form passes only when the value equals min % step, and such
> a value is always on a step boundary, so it never misses a real
> violation. It only reports valid values as invalid.
>
> snd-aloop declares step 1 on four controls, so every non-zero value on
> them is reported. Before:
>
> # PCM Rate Shift 100000.0 value 100000 invalid for step 1 minimum 80000
> # Totals: pass:660 fail:101 xfail:0 xpass:0 skip:296 error:0
>
> After, same card, nothing else changed:
>
> # Totals: pass:740 fail:21 xfail:0 xpass:0 skip:296 error:0
>
> Eighteen files under sound/ declare a non-zero step.
>
> Fixes: 5aaf9efffc57 ("kselftest: alsa: Add simplistic test for ALSA mixer controls kselftest")
> Signed-off-by: HyeongJun An <sammiee5311@xxxxxxxxx>
> Assisted-by: Claude:claude-opus-5
Applied now. Thanks.
Takashi