2017-11-28 15:19:21

by Michel Dänzer

[permalink] [raw]
Subject: [PATCH] platform/x86: hp-wmi: Actually use mask parameter in hp_wmi_hw_state

We were always checking bit 0 (which represents the docked state)
regardless of the mask.

Fixes the "tablet mode" state always being reported the same as the
docked state, which with current libinput can cause the built-in input
devices of laptops to be incorrectly disabled while docked.

Cc: [email protected]
Fixes: ("platform/x86: hp-wmi: Refactor dock and tablet state fetchers")
Signed-off-by: Michel Dänzer <[email protected]>
---
drivers/platform/x86/hp-wmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
index b4ed3dc983d5..2bdd6bbdb353 100644
--- a/drivers/platform/x86/hp-wmi.c
+++ b/drivers/platform/x86/hp-wmi.c
@@ -297,7 +297,7 @@ static int hp_wmi_hw_state(int mask)
if (state < 0)
return state;

- return state & 0x1;
+ return (state & mask) ? 1 : 0;
}

static int __init hp_wmi_bios_2008_later(void)
--
2.15.0


From 1585435620129583554@xxx Wed Nov 29 21:00:31 +0000 2017
X-GM-THRID: 1585323809148779883
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread