From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6EDD8C11F65 for ; Mon, 28 Jun 2021 21:21:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 596EE61D07 for ; Mon, 28 Jun 2021 21:21:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236794AbhF1VXZ (ORCPT ); Mon, 28 Jun 2021 17:23:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:35706 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237866AbhF1VXX (ORCPT ); Mon, 28 Jun 2021 17:23:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1364461D06; Mon, 28 Jun 2021 21:20:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1624915255; bh=YKmwurZwGMWzcmhMkRf94jfggcgdhpnkZCsw9DLpBAM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OzB/Ckt28AtAg30bMmDykdhYzO7+V7/zsFzPdr1mJE7Whec/DhKCVk5eqk1iD+FOS cfjfVou5RidgDM3AGX8ZbcHlcCzX+4S/nBhETF1yiGkagrFilxr6Hr25KxpChkxDQ1 RDnPMqjiH412Zi8mMsvXU7ldSOzZTShFq2tllhYMOslkfKCN7L6W/1VFQoOYrGg16x ZxaK7H5b9rkMIVOVNmGDJaPPLYDAMnQViTcVL4AwTIo5VT8qmclyatIRBU1KCEXs5q V1Z7OesbxtlgWURfpqgNHh/MR1CI4iUGkoR12CC80NIWOh0WXicKlaTLPkwh91A7UC 4O8UuelsN2m+A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Loic Poulain , Michal Koziel , Linus Walleij , Bartosz Golaszewski , Sasha Levin , linux-gpio@vger.kernel.org Subject: [PATCH AUTOSEL 5.12 3/5] gpio: mxc: Fix disabled interrupt wake-up support Date: Mon, 28 Jun 2021 17:20:49 -0400 Message-Id: <20210628212051.43265-3-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210628212051.43265-1-sashal@kernel.org> References: <20210628212051.43265-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Loic Poulain [ Upstream commit 3093e6cca3ba7d47848068cb256c489675125181 ] A disabled/masked interrupt marked as wakeup source must be re-enable and unmasked in order to be able to wake-up the host. That can be done by flaging the irqchip with IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND. Note: It 'sometimes' works without that change, but only thanks to the lazy generic interrupt disabling (keeping interrupt unmasked). Reported-by: Michal Koziel Signed-off-by: Loic Poulain Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski Signed-off-by: Sasha Levin --- drivers/gpio/gpio-mxc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index 157106e1e438..b9fdf05d7669 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c @@ -334,7 +334,7 @@ static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base) ct->chip.irq_unmask = irq_gc_mask_set_bit; ct->chip.irq_set_type = gpio_set_irq_type; ct->chip.irq_set_wake = gpio_set_wake_irq; - ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND; + ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND; ct->regs.ack = GPIO_ISR; ct->regs.mask = GPIO_IMR; -- 2.30.2