From: Alan Borzeszkowski Date: Wed, 4 Dec 2024 07:04:15 +0000 (+0200) Subject: gpio: graniterapids: Fix GPIO Ack functionality X-Git-Tag: v6.12.6~153 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e564f2ae92414f506a7e92fca529b8f1c18211c;p=thirdparty%2Fkernel%2Fstable.git gpio: graniterapids: Fix GPIO Ack functionality commit 0bb18e34abdde7bf58fca8542e2dcf621924ea19 upstream. Interrupt status (GPI_IS) register is cleared by writing 1 to it, not 0. Cc: stable@vger.kernel.org Signed-off-by: Alan Borzeszkowski Signed-off-by: Mika Westerberg Acked-by: Andy Shevchenko Link: https://lore.kernel.org/r/20241204070415.1034449-8-mika.westerberg@linux.intel.com Signed-off-by: Bartosz Golaszewski Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpio/gpio-graniterapids.c b/drivers/gpio/gpio-graniterapids.c index f2e911a3d2ca0..48be27785b83f 100644 --- a/drivers/gpio/gpio-graniterapids.c +++ b/drivers/gpio/gpio-graniterapids.c @@ -166,7 +166,7 @@ static void gnr_gpio_irq_ack(struct irq_data *d) guard(raw_spinlock_irqsave)(&priv->lock); reg = readl(addr); - reg &= ~BIT(bit_idx); + reg |= BIT(bit_idx); writel(reg, addr); }