RE: [PATCH] platform/x86: intel-hid: Missing power button release on some Dell models

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----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>




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux