> Anton Lindqvist wrote: > > I'm trying to fix a minor annoyance on my x240: the speaker mute key > > LED-state is not respected at boot. Pressing the mute key will mute the > > speaker while the expected behavior is to unmute. The LED-state will > > remain out-of-sync until I run `mixerctl -t outputs.master.mute`. > > > > I've managed to determine if the speaker is muted in the acpithinkpad(4) > > attach function by reading from the embedded controller. However, > > calling wskbd_set_mixervolume at this stage returns ENODEV. I assume the > > audio device has not been attached yet. I'm new to kernel development > > and therefore wonder if this approach makes sense. If true, is it > > possible to postpone a task to run once a certain device has attached? > > The function you're looking for is startuphook_establish. > > But this requires crazy amounts of testing, since many thinkpads will be > different. It's well known that the mute button, hardware state, and software > state can became desynced, but the specifics vary by model. >
Actually, I think Anton might be onto something here. The desyncronization may be due to the audio driver + BIOS not recognizing the other's state.