lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hk1r01acc.wl-tiwai@suse.de>
Date:   Fri, 15 Jun 2018 14:51:47 +0200
From:   Takashi Iwai <tiwai@...e.de>
To:     Pali Rohár <pali.rohar@...il.com>
Cc:     Henrique de Moraes Holschuh <ibm-acpi@....eng.br>,
        ibm-acpi-devel@...ts.sourceforge.net,
        platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: ThinkPad T480s & LED_MUTE, LED_MICMUTE

On Fri, 08 Jun 2018 13:10:57 +0200,
Pali Rohár wrote:
> 
> Hi! With up-to-date thinkpad_acpi.ko driver on ThinkPad T480s I'm seeing
> a strange behavior of LEDs which are integrated into mic mute (Fn+F4)
> and mute (Fn+F1) keys.
> 
> When thinkpad_acpi.ko is not loaded, then mute key is working fine. When
> pressed, it correctly generates KEY_MUTE on AT Translated Set 2 keyboard
> input device and also turn on/of mute led. But when micmute key is
> pressed then, nothing happen. No key event is reported and also led is
> not turned on/off.
> 
> On the other hand, when thinkpad_acpi.ko is loaded, then both buttons
> mute and micmute correctly generates input events; mute via AT keyboard
> and micmute via ThinkPad Extra Buttons. But led is not changed. When
> thinkpad_acpi.ko is loaded it turn off both leds (mute and micmute) and
> leds after pressing any of those buttons, leds are not turned on again.
> 
> When thinkpad_acpi.ko is unloaded, then pressing mute button again start
> switching led on/off.
> 
> So it seems that some init sequence of thinkpad_acpi.ko breaks mute led.
> And fini sequence of thinkpad_acpi.ko makes mute led working again.

Usually the mute LED on Thinkpad is triggered from HD-audio driver
(sound/pci/hda/thinkpad_helper.c), and it's a soft-bound via
symbol_request(tpacpi_led_set).  I thought thinkpad_acpi is
auto-loaded when the module gets bound.

A possible explanation would be that TPT480s has neither IBM0068,
LEN0068 nor LEN0268 ACPI HIDs, hence the driver is not auto-loaded.
(In HD-audio driver side, the ACPI ID is checked and the mute LED
 control is applied only to these three IDs, too.)
Meanwhile, when you load thinkpad_acpi, it does still recognize some
device and initialize it.  By the initialization, it goes out of BIOS
control, and the OS control is expected...   This is my wild guess.


BTW, the reason we have no LED class for these is that we don't want
to confuse users by providing multiple ways to access to the single
stuff.  We've had already the mute LED control from the audio driver
since long time ago, we don't want to drop and enforce the user-space
solution (that is anyway flakier than in kernel in most cases).


thanks,

Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ