Fix up the volume status setting functions to return a non-zero value if the control value has changed, so that the ALSA framework can correctly generate control change notifications. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> --- linux/drivers/platform/x86/thinkpad_acpi.c +++ linux/drivers/platform/x86/thinkpad_acpi.c @@ -6537,8 +6537,11 @@ static int volume_set_mute_ec(const bool n = (mute) ? s | TP_EC_AUDIO_MUTESW_MSK : s & ~TP_EC_AUDIO_MUTESW_MSK; - if (n != s) + if (n != s) { rc = volume_set_status_ec(n); + if (!rc) + rc = 1; + } unlock: mutex_unlock(&volume_mutex); @@ -6569,8 +6572,11 @@ static int volume_set_volume_ec(const u8 n = (s & ~TP_EC_AUDIO_LVL_MSK) | vol; - if (n != s) + if (n != s) { rc = volume_set_status_ec(n); + if (!rc) + rc = 1; + } unlock: mutex_unlock(&volume_mutex); ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ ibm-acpi-devel mailing list ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel