Message ID | 20180817212135.222689-1-ravisadineni@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Input: cros_ec_keyb: Remove check before calling pm_wakeup_event. | expand |
Hi Ravi, On 2018-08-17 23:21, RaviChandra Sadineni wrote: > From: RaviChandra Sadineni <ravisadineni@google.com> > > hi Merek, > > Unfortunately I could not get the device to boot even after using the exynos_defconfig. > Can you please try this patch and see if this fixes the issue. If not can you enable the > debug logs and send me the logs. > > > Currently on every resume we check for mkbp events and notify the > clients. This helps in identifying the wakeup sources. But on devices > that do not support mkbp protocol, we might end up getting key state of > the keyboard in a loop and block the resume. Instead check for events only > if mkbp is supported. > > Signed-off-by: RaviChandra Sadineni <ravisadineni@chromium.org> This patch fixes the suspend/resume issue on Snow and Peach-Pit Chromebooks, both on vanilla v4.18 as well as linux-next from 20 August 2018. Thanks! Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> A small hint: to merge it please resend with proper subject and put the note should be after '---' mark, so it will be dropped by the 'git am' command. > --- > drivers/mfd/cros_ec.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c > index 65a9757a6d21..fe6f83766144 100644 > --- a/drivers/mfd/cros_ec.c > +++ b/drivers/mfd/cros_ec.c > @@ -218,7 +218,8 @@ EXPORT_SYMBOL(cros_ec_suspend); > > static void cros_ec_report_events_during_suspend(struct cros_ec_device *ec_dev) > { > - while (cros_ec_get_next_event(ec_dev, NULL) > 0) > + while (ec_dev->mkbp_event_supported && > + cros_ec_get_next_event(ec_dev, NULL) > 0) > blocking_notifier_call_chain(&ec_dev->event_notifier, > 1, ec_dev); > } Best regards
diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c index 65a9757a6d21..fe6f83766144 100644 --- a/drivers/mfd/cros_ec.c +++ b/drivers/mfd/cros_ec.c @@ -218,7 +218,8 @@ EXPORT_SYMBOL(cros_ec_suspend); static void cros_ec_report_events_during_suspend(struct cros_ec_device *ec_dev) { - while (cros_ec_get_next_event(ec_dev, NULL) > 0) + while (ec_dev->mkbp_event_supported && + cros_ec_get_next_event(ec_dev, NULL) > 0) blocking_notifier_call_chain(&ec_dev->event_notifier, 1, ec_dev); }