Re: [PATCH] spi: remove spin_lock_irq in the irq procress

From: Tom Rix
Date: Sat Apr 16 2022 - 12:02:23 EST



On 4/14/22 6:16 AM, 郭力豪 wrote:
Hi Tom :

This SPI driver only handles one transfer at a time.
That's why locks are not needed.

Please add this statement to the commit log.

In a commit log, not only do I look for what was changed but also why the change was made.

Tom



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;
}