There is no need to use API with _irqsave in grgpio_irq_handler(), because it already be in a irq-disabled context.
Signed-off-by: Luo Jiaxing luojiaxing@huawei.com --- drivers/gpio/gpio-grgpio.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c index f954359..fa5aa31 100644 --- a/drivers/gpio/gpio-grgpio.c +++ b/drivers/gpio/gpio-grgpio.c @@ -195,11 +195,10 @@ static irqreturn_t grgpio_irq_handler(int irq, void *dev) { struct grgpio_priv *priv = dev; int ngpio = priv->gc.ngpio; - unsigned long flags; int i; int match = 0;
- spin_lock_irqsave(&priv->gc.bgpio_lock, flags); + spin_lock(&priv->gc.bgpio_lock);
/* * For each gpio line, call its interrupt handler if it its underlying @@ -215,7 +214,7 @@ static irqreturn_t grgpio_irq_handler(int irq, void *dev) } }
- spin_unlock_irqrestore(&priv->gc.bgpio_lock, flags); + spin_unlock(&priv->gc.bgpio_lock);
if (!match) dev_warn(priv->dev, "No gpio line matched irq %d\n", irq);