summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorHyeongJun An <sammiee5311@gmail.com>2026-09-08 22:41:53 +0900
committerTakashi Iwai <tiwai@suse.de>2026-09-08 16:23:16 +0200
commit7284788743121ec8bed556b00f830dc52ad9955d (patch)
treeb036d089f1bd83cb9f7a6298c1423cba5b0d72b4 /scripts/Makefile.thinlto
parent71c610aeb1770302ac9c9e0b9a4ecd37f1311928 (diff)
downloadlinux-stable-7284788743121ec8bed556b00f830dc52ad9955d.tar.gz
linux-stable-7284788743121ec8bed556b00f830dc52ad9955d.zip
ALSA: hda: Report a change when only the channel status bytes move
The put() callback of "IEC958 Playback Default" returns whether the converted register value moved. The convert_from_spdif_status() helper reads part of the first two channel status bytes and none of the last two, while the get() callback returns all four. So a write that lands only in the bits it does not read changes what userspace reads back and reports no change. Of the 31 bits above the mode bit, 20 are such bits in consumer mode and 29 in professional mode. The core notifies only on a positive return. Toggling status[2] bit 0 on an HDA HDMI codec moves the read-back from 04 00 00 00 to 04 00 01 00 with no event. Toggling the non-audio bit in status[0] gives one. Compare the stored status as well, the way the ac97 code does. The write to the codec stays gated on the converted value. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: HyeongJun An <sammiee5311@gmail.com> Assisted-by: Claude:claude-opus-5 Link: https://patch.msgid.link/20260908134153.1614273-1-sammiee5311@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions