diff options
| author | HyeongJun An <sammiee5311@gmail.com> | 2026-09-30 20:15:34 +0900 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-10-04 20:22:11 +0200 |
| commit | 990385ba98336224bc000c7cf7b51c2fa442c780 (patch) | |
| tree | 59a5f6e5cb7054e71dcd5c0101ca6d117e982f52 /tools/lib/python/kdoc/python_version.py | |
| parent | c9b0768669976a1beb0a1537b4257bd6b76dfbac (diff) | |
selftests/alsa: Check that a write does not silently change other controls
A control whose register mask is wider than its field clobbers the
field next to it. No event is sent for the neighbour, so nothing
notices. The es8316 bug fixed in
commit 6c1bb4031729 ("ASoC: codec: es8316: "DAC Soft Ramp Rate" is just a 2 bit control")
was one.
Add a test that writes each control's minimum and then its maximum.
After each write it compares the other controls on the card with a
snapshot. The minimum clears the field and the maximum sets its top
bit, which is where a mask one bit too wide lands. Some drivers link
controls on purpose, so a change announced with a value event is only
logged. A silent one fails.
On an HDA HDMI codec and snd-dummy, 39 controls in all, it reports
nothing. A snd-dummy copy with an injected silent overlap fails, and
the same overlap announced with a value event passes.
Suggested-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/all/0fefbfe1-021b-46b2-8945-15956e75e37f@sirena.org.uk/
Signed-off-by: HyeongJun An <sammiee5311@gmail.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260930111534.3782264-3-sammiee5311@gmail.com
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions
