>> That was my assumption also, since my earlier 3-liner patch was doing >> this exactly: trying to wake up on a regular 0xCE event. And it did work. > > OK > > Can you try the patch below, please? Thank you for this patch proposal. I've applied it but the system with BIOS 1.1.31 doesn't wake up on short press. I can see the following (added) messages in the logs for info: - short press first while suspended -> no wake-up [ 702.567912] intel-hid INT33D5:00: notify_handler with event 0xce [ 702.567913] intel-hid INT33D5:00: 0xce == 0xc0 || !priv->array [ 702.765067] intel-hid INT33D5:00: notify_handler with event 0xcf [ 702.765072] intel-hid INT33D5:00: 0xcf == 0xc0 || !priv->array - long press then -> waking up the system [ 704.954703] intel-hid INT33D5:00: notify_handler with event 0xce [ 704.954704] intel-hid INT33D5:00: 0xce == 0xc0 || !priv->array [ 711.646088] intel-hid INT33D5:00: notify_handler with event 0xcf [ 711.646092] intel-hid INT33D5:00: unknown event 0xcf confirming that priv->array is indeed not set, even with the patch below. With BIOS 1.1.20, I don't have such logs, notify_handler seems never called. Jérome > --- > drivers/platform/x86/intel-hid.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > Index: linux-pm/drivers/platform/x86/intel-hid.c > =================================================================== > --- linux-pm.orig/drivers/platform/x86/intel-hid.c > +++ linux-pm/drivers/platform/x86/intel-hid.c > @@ -270,12 +270,17 @@ static int intel_hid_probe(struct platfo > } > > /* Setup 5 button array */ > - status = acpi_evaluate_integer(handle, "HEBC", NULL, &event_cap); > - if (ACPI_SUCCESS(status) && (event_cap & 0x20000)) { > - dev_info(&device->dev, "platform supports 5 button array\n"); > - err = intel_button_array_input_setup(device); > - if (err) > - pr_err("Failed to setup Intel 5 button array hotkeys\n"); > + if (acpi_has_method(handle, "BTNC") && acpi_has_method(handle, "BTNE")) { > + unsigned long long event_cap; > + > + status = acpi_evaluate_integer(handle, "HEBC", NULL, &event_cap); > + if ((ACPI_SUCCESS(status) && (event_cap & 0x20000)) || > + status == AE_NOT_FOUND) { > + dev_info(&device->dev, "5-button array supported\n"); > + err = intel_button_array_input_setup(device); > + if (err) > + dev_dbg(&device->dev, "5-button array setup failure\n"); > + } > } > > status = acpi_install_notify_handler(handle, > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html