Hi Tom : This SPI driver only handles one transfer at a time. That's why locks are not needed. Li-hao Kuo Tom Rix <trix@xxxxxxxxxx> 於 2022年4月13日 週三 下午7:45寫道: > > > On 4/12/22 6:38 PM, Li-hao Kuo wrote: > > - remove spin_lock_irq and spin_unlock_irq in the irq funciton > > function > > I was expecting a statement on why is the lock is not needed. > > Could you add one ? > > Tom > > > > > Signed-off-by: Li-hao Kuo <lhjeff911@xxxxxxxxx> > > --- > > drivers/spi/spi-sunplus-sp7021.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/spi/spi-sunplus-sp7021.c b/drivers/spi/spi-sunplus-sp7021.c > > index f989f7b..120623c 100644 > > --- a/drivers/spi/spi-sunplus-sp7021.c > > +++ b/drivers/spi/spi-sunplus-sp7021.c > > @@ -199,8 +199,6 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev) > > if (tx_len == 0 && total_len == 0) > > return IRQ_NONE; > > > > - spin_lock_irq(&pspim->lock); > > - > > rx_cnt = FIELD_GET(SP7021_RX_CNT_MASK, fd_status); > > if (fd_status & SP7021_RX_FULL_FLAG) > > rx_cnt = pspim->data_unit; > > @@ -239,7 +237,7 @@ static irqreturn_t sp7021_spi_master_irq(int irq, void *dev) > > > > if (isrdone) > > complete(&pspim->isr_done); > > - spin_unlock_irq(&pspim->lock); > > + > > return IRQ_HANDLED; > > } > > >