spi: spi-stm32: remove redundant irqsave and irqrestore in hardIRQ
authorBarry Song <song.bao.hua@hisilicon.com>
Sat, 26 Sep 2020 00:16:16 +0000 (12:16 +1200)
committerMark Brown <broonie@kernel.org>
Thu, 1 Oct 2020 22:45:28 +0000 (23:45 +0100)
Running in hardIRQ, disabling IRQ is redundant.

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

index f0e594b..9a8a37b 100644 (file)
@@ -804,10 +804,9 @@ static irqreturn_t stm32f4_spi_irq_event(int irq, void *dev_id)
        struct spi_master *master = dev_id;
        struct stm32_spi *spi = spi_master_get_devdata(master);
        u32 sr, mask = 0;
-       unsigned long flags;
        bool end = false;
 
-       spin_lock_irqsave(&spi->lock, flags);
+       spin_lock(&spi->lock);
 
        sr = readl_relaxed(spi->base + STM32F4_SPI_SR);
        /*
@@ -833,7 +832,7 @@ static irqreturn_t stm32f4_spi_irq_event(int irq, void *dev_id)
 
        if (!(sr & mask)) {
                dev_dbg(spi->dev, "spurious IT (sr=0x%08x)\n", sr);
-               spin_unlock_irqrestore(&spi->lock, flags);
+               spin_unlock(&spi->lock);
                return IRQ_NONE;
        }
 
@@ -875,11 +874,11 @@ end_irq:
                                        STM32F4_SPI_CR2_TXEIE |
                                        STM32F4_SPI_CR2_RXNEIE |
                                        STM32F4_SPI_CR2_ERRIE);
-               spin_unlock_irqrestore(&spi->lock, flags);
+               spin_unlock(&spi->lock);
                return IRQ_WAKE_THREAD;
        }
 
-       spin_unlock_irqrestore(&spi->lock, flags);
+       spin_unlock(&spi->lock);
        return IRQ_HANDLED;
 }