
Takashi Iwai tiwai@suse.de [2015-04-28 08:06:50 +0200]:
It's the call: led_set_func(TPACPI_LED_MUTE, false) and this returns an error. led_set_func is a function pointer to tpacpi_led_set: led_set_func = symbol_request(tpacpi_led_set);
So the above indicates that the call in thinkpad_acpi.c failed.
Could you check what value is returned from led_set_func(TPACPI_LED_MUTE, false)?
My wild guess is that it's -ENODEV.
Yep:
[ 13.379016] sound hdaudioC0D0: XXX hda_fixup_thinkpad_acpi init... [ 13.392760] sound hdaudioC0D0: XXX ok, this is thinkpad [ 13.404553] sound hdaudioC0D0: XXX mute LED NOT WORKING! [ 13.416106] XXX led_set_func(TPACPI_LED_MUTE, false) returned -19 [ 13.427719] sound hdaudioC0D0: XXX ok, mic LED is hooked
Question: To simplify/speed debugging going forward: Is there some straightforward way to unload/reload all the relevant sound modules as an alternative to rebooting? I came across some 'recipes', but none looked straightforward; lots of conditionality on the particular subset of modules being patched/debugged, but alas I've not enough knowledge to guess at exactly what that subset should be for what we're doing here.) Thx.