mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
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:
|
||
|---|---|---|
| .. | ||
| conf.d | ||
| .gitignore | ||
| alsa-local.h | ||
| conf.c | ||
| global-timer.c | ||
| Makefile | ||
| mixer-test.c | ||
| pcm-test.c | ||
| pcm-test.conf | ||
| test-pcmtest-driver.c | ||
| utimer-test.c | ||