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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 19 Sep 2017 00:40:48 +0200 From: Jérôme de Bretagne <jerome.debretagne@...il.com> To: Mario Limonciello <Mario.Limonciello@...l.com> Cc: platform-driver-x86@...r.kernel.org, Darren Hart <dvhart@...radead.org>, LKML <linux-kernel@...r.kernel.org>, ACPI Devel Maling List <linux-acpi@...r.kernel.org>, "Rafael J. Wysocki" <rjw@...ysocki.net>, Andy Shevchenko <andy.shevchenko@...il.com>, Alex Hung <alex.hung@...onical.com> Subject: Re: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude 7275 2017-09-18 23:29 GMT+02:00 <Mario.Limonciello@...l.com>: >> -----Original Message----- >> From: Jérôme de Bretagne [mailto:jerome.debretagne@...il.com] >> Sent: Sunday, September 17, 2017 5:57 PM >> To: platform-driver-x86@...r.kernel.org >> Cc: Darren Hart <dvhart@...radead.org>; LKML <linux-kernel@...r.kernel.org>; >> Linux ACPI <linux-acpi@...r.kernel.org>; Rafael J. Wysocki <rjw@...ysocki.net>; >> Andy Shevchenko <andy.shevchenko@...il.com>; Limonciello, Mario >> <Mario_Limonciello@...l.com>; Alex Hung <alex.hung@...onical.com> >> Subject: [PATCH] platform/x86: intel-hid: Power button suspend on Dell Latitude >> 7275 >> >> From: Jérôme de Bretagne <jerome.debretagne@...il.com> >> >> On Dell Latitude 7275 the 5-button array is not exposed in the >> ACPI tables, but still notifies are sent to the Intel HID device >> object (device ID INT33D5) in response to power button actions. >> They were ignored as the intel-hid driver was not prepared to >> take care of them until recently. >> >> Power button wakeup from suspend-to-idle was added in: >> 635173a17b03 ("intel-hid: Wake up Dell Latitude 7275 from >> suspend-to-idle"). However power button suspend doesn't work >> yet on this platform so it would be good to add it also. >> >> On the affected platform (for which priv->array is NULL), add >> a new upfront check against the power button press notification >> (0xCE) to notify_handler(), outside the wakeup mode this time, >> which allows to report the power button press event and >> trigger the suspend. Also catch and ignore the corresponding >> power button release notification (0xCF) to stop it from being >> reported as an "unknown event" in the logs. >> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=196115 >> Tested-by: Jérôme de Bretagne <jerome.debretagne@...il.com> >> Signed-off-by: Jérôme de Bretagne <jerome.debretagne@...il.com> >> --- >> drivers/platform/x86/intel-hid.c | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c >> index a782c78e7c63..b19f8dcf9d8c 100644 >> --- a/drivers/platform/x86/intel-hid.c >> +++ b/drivers/platform/x86/intel-hid.c >> @@ -226,6 +226,22 @@ static void notify_handler(acpi_handle handle, u32 event, >> void *context) >> return; >> } >> >> + /* >> + * Needed for suspend to work on some platforms that don't expose >> + * the 5-button array, but still send notifies with power button >> + * event code to this device object on power button actions. >> + * >> + * Report the power button press; catch and ignore the button release. >> + */ >> + if (!priv->array) { >> + if (event == 0xce) { >> + input_report_key(priv->input_dev, KEY_POWER, 1); >> + input_sync(priv->input_dev); >> + return; >> + } else if (event == 0xcf) >> + return; >> + } >> + >> /* 0xC0 is for HID events, other values are for 5 button array */ >> if (event != 0xc0) { >> if (!priv->array || > > LGTM, it's improved from what you posted to that bug already. > > Acked-By: Mario Limonciello <mario.limonciello@...l.com> Thanks Mario. In fact, I updated my initial fix proposal on the 12th in [1] and this patch matches exactly the updated version. You didn't receive the update notification from Bugzilla? [1] https://bugzilla.kernel.org/show_bug.cgi?id=196115#c12
Powered by blists - more mailing lists