Unverified Commit 7349201d authored by Barry Song's avatar Barry Song Committed by Mark Brown
Browse files

spi: lantiq: remove redundant irqsave and irqrestore in hardIRQ



Running in hardIRQ, disabling irq is redundant.

Signed-off-by: default avatarBarry Song <song.bao.hua@hisilicon.com>
Link: https://lore.kernel.org/r/20200916101042.21860-1-song.bao.hua@hisilicon.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 985be7eb
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -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;
}