Skip to content

Commit e09cb4c

Browse files
jwrdegoedegregkh
authored andcommitted
platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
[ Upstream commit 3bd12da ] asus-nb-wmi does not add any extra functionality on these Asus Transformer books. They have detachable keyboards, so the hotkeys are send through a HID device (and handled by the hid-asus driver) and also the rfkill functionality is not used on these devices. Besides not adding any extra functionality, initializing the WMI interface on these devices actually has a negative side-effect. For some reason the \_SB.ATKD.INIT() function which asus_wmi_platform_init() calls drives GPO2 (INT33FC:02) pin 8, which is connected to the front facing webcam LED, high and there is no (WMI or other) interface to drive this low again causing the LED to be permanently on, even during suspend. This commit adds a blacklist of DMI system_ids on which not to load the asus-nb-wmi and adds these Transformer books to this list. This fixes the webcam LED being permanently on under Linux. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 21851aa commit e09cb4c

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

drivers/platform/x86/asus-nb-wmi.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,9 +561,33 @@ static struct asus_wmi_driver asus_nb_wmi_driver = {
561561
.detect_quirks = asus_nb_wmi_quirks,
562562
};
563563

564+
static const struct dmi_system_id asus_nb_wmi_blacklist[] __initconst = {
565+
{
566+
/*
567+
* asus-nb-wm adds no functionality. The T100TA has a detachable
568+
* USB kbd, so no hotkeys and it has no WMI rfkill; and loading
569+
* asus-nb-wm causes the camera LED to turn and _stay_ on.
570+
*/
571+
.matches = {
572+
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
573+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100TA"),
574+
},
575+
},
576+
{
577+
/* The Asus T200TA has the same issue as the T100TA */
578+
.matches = {
579+
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
580+
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T200TA"),
581+
},
582+
},
583+
{} /* Terminating entry */
584+
};
564585

565586
static int __init asus_nb_wmi_init(void)
566587
{
588+
if (dmi_check_system(asus_nb_wmi_blacklist))
589+
return -ENODEV;
590+
567591
return asus_wmi_register_driver(&asus_nb_wmi_driver);
568592
}
569593

0 commit comments

Comments
 (0)