From bd6a84f66914c890a7804580d7cee73ed3b852c2 Mon Sep 17 00:00:00 2001 From: Srikanth Katteboina Date: Mon, 17 Oct 2022 00:18:29 +0530 Subject: [PATCH] touch: Fix Touch_to_wake during RBSC mode Calling enable_irq_wake() causes suspend_device_irqs() to treat the given IRQ in a special way.the IRQ remains enabled, by on the first interrupt it will be disabled, marked as pending and "suspended" so that it will be re-enabled by resume_device_irqs() during the subsequent system resume. Change-Id: Id129a8b4e0eddc07000793986b119a0a7b5530ef Signed-off-by: Srikanth Katteboina Signed-off-by: Surya Teja Kudiri --- pt/pt_core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pt/pt_core.c b/pt/pt_core.c index 2f0699d4ed..984fa6a828 100644 --- a/pt/pt_core.c +++ b/pt/pt_core.c @@ -17721,6 +17721,10 @@ int pt_probe(const struct pt_bus_ops *ops, struct device *dev, pt_debug(dev, DL_ERROR, "%s: Error, device_init_wakeup rc:%d\n", __func__, rc); + if (!enable_irq_wake(cd->irq)) { + cd->irq_wake = 1; + pt_debug(cd->dev, DL_WARN, "%s Device MAY wakeup\n", __func__); + } pm_runtime_get_noresume(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev);