> -----Original Message----- > From: platform-driver-x86-owner@xxxxxxxxxxxxxxx <platform-driver-x86- > owner@xxxxxxxxxxxxxxx> On Behalf Of Jérôme de Bretagne > Sent: Sunday, January 6, 2019 11:57 AM > To: Alex Hung > Cc: platform-driver-x86@xxxxxxxxxxxxxxx; Andy Shevchenko; Darren Hart; > Limonciello, Mario; Rafael J. Wysocki; Chih-Wei Huang; Tristian Celestin; linux- > kernel@xxxxxxxxxxxxxxx > Subject: [PATCH] platform/x86: intel-hid: Missing power button release on some > Dell models > > > [EXTERNAL EMAIL] > > Power button suspend for some Dell models was added in: > > commit 821b85366284 (intel-hid: Power button suspend on Dell Latitude 7275) > > by checking against the power button press notification (0xCE) to report > the power button press event. The corresponding power button release > notification (0xCF) was caught and ignored to stop it from being reported > as an "unknown event" in the logs. > > The missing button release event is creating issues on Android-x86, as > reported on the project mailing list for a Dell Latitude 5175 model, since > the events are expected in down/up pairs. > > Report the power button release event to fix this issue. > > Link: https://groups.google.com/forum/#!topic/android-x86/aSwZK9Nf9Ro > Tested-by: Tristian Celestin <tristian.celestin@xxxxxxxxxxx> > Tested-by: Jérôme de Bretagne <jerome.debretagne@xxxxxxxxx> > Signed-off-by: Jérôme de Bretagne <jerome.debretagne@xxxxxxxxx> > --- > drivers/platform/x86/intel-hid.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c > index e28bcf61b126..bc0d55a59015 100644 > --- a/drivers/platform/x86/intel-hid.c > +++ b/drivers/platform/x86/intel-hid.c > @@ -363,7 +363,7 @@ static void notify_handler(acpi_handle handle, u32 event, > void *context) > * 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. > + * Report the power button press and release. > */ > if (!priv->array) { > if (event == 0xce) { > @@ -372,8 +372,11 @@ static void notify_handler(acpi_handle handle, u32 event, > void *context) > return; > } > > - if (event == 0xcf) > + if (event == 0xcf) { > + input_report_key(priv->input_dev, KEY_POWER, 0); > + input_sync(priv->input_dev); > return; > + } > } > > /* 0xC0 is for HID events, other values are for 5 button array */ > -- > 2.11.0 Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxxx>