spi: lantiq: remove redundant irqsave and irqrestore in hardIRQ
authorBarry Song <song.bao.hua@hisilicon.com>
Wed, 16 Sep 2020 10:10:42 +0000 (22:10 +1200)
committerMark Brown <broonie@kernel.org>
Thu, 17 Sep 2020 18:56:02 +0000 (19:56 +0100)
Running in hardIRQ, disabling irq is redundant.

Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Link: https://lore.kernel.org/r/20200916101042.21860-1-song.bao.hua@hisilicon.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-lantiq-ssc.c

index 3cbecb2d8fc098c27f47cdf7bc72abfd6a408d4f..bcb52601804a9919b09a31a522fb133949bf524d 100644 (file)
@@ -625,9 +625,8 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data)
        struct lantiq_ssc_spi *spi = data;
        const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg;
        u32 val = lantiq_ssc_readl(spi, hwcfg->irncr);
-       unsigned long flags;
 
-       spin_lock_irqsave(&spi->lock, flags);
+       spin_lock(&spi->lock);
        if (hwcfg->irq_ack)
                lantiq_ssc_writel(spi, val, hwcfg->irncr);
 
@@ -652,12 +651,12 @@ static irqreturn_t lantiq_ssc_xmit_interrupt(int irq, void *data)
                }
        }
 
-       spin_unlock_irqrestore(&spi->lock, flags);
+       spin_unlock(&spi->lock);
        return IRQ_HANDLED;
 
 completed:
        queue_work(spi->wq, &spi->work);
-       spin_unlock_irqrestore(&spi->lock, flags);
+       spin_unlock(&spi->lock);
 
        return IRQ_HANDLED;
 }
@@ -668,12 +667,11 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data)
        const struct lantiq_ssc_hwcfg *hwcfg = spi->hwcfg;
        u32 stat = lantiq_ssc_readl(spi, LTQ_SPI_STAT);
        u32 val = lantiq_ssc_readl(spi, hwcfg->irncr);
-       unsigned long flags;
 
        if (!(stat & LTQ_SPI_STAT_ERRORS))
                return IRQ_NONE;
 
-       spin_lock_irqsave(&spi->lock, flags);
+       spin_lock(&spi->lock);
        if (hwcfg->irq_ack)
                lantiq_ssc_writel(spi, val, hwcfg->irncr);
 
@@ -697,7 +695,7 @@ static irqreturn_t lantiq_ssc_err_interrupt(int irq, void *data)
        if (spi->master->cur_msg)
                spi->master->cur_msg->status = -EIO;
        queue_work(spi->wq, &spi->work);
-       spin_unlock_irqrestore(&spi->lock, flags);
+       spin_unlock(&spi->lock);
 
        return IRQ_HANDLED;
 }