]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpio: graniterapids: Fix GPIO Ack functionality
authorAlan Borzeszkowski <alan.borzeszkowski@linux.intel.com>
Wed, 4 Dec 2024 07:04:15 +0000 (09:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 17:13:01 +0000 (18:13 +0100)
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 <alan.borzeszkowski@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20241204070415.1034449-8-mika.westerberg@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpio-graniterapids.c

index f2e911a3d2ca022f7455cb9f599177738ac764d4..48be27785b83f5497c12014cac401bf5408c1afd 100644 (file)
@@ -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);
 }