2014-08-17 17:52 GMT+06:00 Tanu Kaskinen <tanu.kaskinen at linux.intel.com>: > The analog-output path should be used only when more specific outputs > don't exist, so usually it should be suppressed, and currently that > doesn't happen. One practical problem caused by that is that the > analog-output port may get chosen during boot if headphones are > plugged in, because analog-output has higher priority than headphones > and the speaker port is unavailable[1]. That particular problem could > maybe be fixed by decreasing the analog-output priority, or by > tweaking module-switch-on-port-available, but this time I decided to > fix the problem of analog-output appearing when it's redundant. > > [1] https://bugs.freedesktop.org/show_bug.cgi?id=74609 > > Tanu Kaskinen (2): > alsa-mixer: Fix path subset detection > alsa-mixer: Ignore some elements in the analog-output path > > src/modules/alsa/alsa-mixer.c | 26 +++++++++---------- > src/modules/alsa/mixer/paths/analog-output.conf | 34 ------------------------- > 2 files changed, 13 insertions(+), 47 deletions(-) I have looked at and tested both patches on my laptop. Patch 1/2 gets a full ACK. It makes mixer element handling consistent with the existing code for jack handling. Patch 2/2, when applied on top of 1/2, successfully kills the unwanted Analog output port on my laptop. However, I have not verified that the set of to-be-removed elements in this patch is indeed minimal and sufficient. So this patch only gets a "possibly-incomplete ACK". Maybe it is a good idea to write a test that verifies that the analog-output path is indeed a subset of all mixer paths that should kill it? -- Alexander E. Patrakov