mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 01:10:54 +07:00
spi: lantiq: remove redundant irqsave and irqrestore in hardIRQ
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>
This commit is contained in:
parent
985be7ebfb
commit
7349201d9d
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user