Răsfoiți Sursa

spi/bfin_spi: use dma_disable_irq_nosync() in irq handler

Using disable_irq() on the IRQ whose handler we are currently executing in
can easily lead to a hang.  So use the nosync variant here.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Barry Song 15 ani în urmă
părinte
comite
a75bd65b21
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      drivers/spi/spi_bfin5xx.c

+ 1 - 1
drivers/spi/spi_bfin5xx.c

@@ -547,7 +547,7 @@ static irqreturn_t bfin_spi_dma_irq_handler(int irq, void *dev_id)
 	dev_dbg(&drv_data->pdev->dev,
 		"disable dma channel irq%d\n",
 		drv_data->dma_channel);
-	dma_disable_irq(drv_data->dma_channel);
+	dma_disable_irq_nosync(drv_data->dma_channel);
 
 	return IRQ_HANDLED;
 }