On Fri, 31 May 2024 18:03:52 +0200, Mark Brown wrote: > > On Fri, May 31, 2024 at 05:17:43PM +0200, Takashi Iwai wrote: > > On Fri, 31 May 2024 07:50:33 +0200, > > > > not ok 5 write_invalid.0.40 > > > not ok 201 write_invalid.0.12 > > > not ok 208 write_invalid.0.11 > > > not ok 264 write_invalid.0.3 > > > not ok 271 write_invalid.0.2 > > > not ok 278 write_invalid.0.1 > > > not ok 285 write_invalid.0.0 > > > Through a quick look, those are no real "failures". It'd be more > > preferable if the driver returns an error for invalid values, but > > currently it's up to drivers how to deal with them, and some accept as > > is but with correction of the values internally. They are shown as > > "skips" in the summary above you showed, after all. > > I would say these are all bugs, they show the driver not correcting the > value and allowing users to read back out of range values that were > written. Even if the driver is accepting out of range values I'd expect > it to transform them somehow when storing, the program will accept a > mismatched read when testing this case but it will complain if the read > value is not valid according to the control's info.
Ideally, yeah. But it's a whack-a-mole game, and my gut feeling is that it'd be better to enable the input validation globally, something like below. Takashi --- a/sound/core/Kconfig +++ b/sound/core/Kconfig @@ -219,7 +219,8 @@ config SND_PCM_XRUN_DEBUG the process or driver which causes the scheduling gaps. config SND_CTL_INPUT_VALIDATION - bool "Validate input data to control API" + bool "Validate input data to control API" if EXPERT + default y help Say Y to enable the additional validation for the input data to each control element, including the value range checks.