summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorBarry Song <barry.song@analog.com>2010-01-22 11:07:30 +0100
committerMike Frysinger <vapier@gentoo.org>2010-10-18 08:49:40 +0200
commita75bd65b2189d711938d0fa7d9a79df47ddd66fa (patch)
tree6acca25eaf5bb0e9e75e5d6922a6224bfbb79d81 /drivers/spi
parentspi/bfin_spi: combine duplicate SPI_CTL read/write logic (diff)
downloadlinux-a75bd65b2189d711938d0fa7d9a79df47ddd66fa.tar.xz
linux-a75bd65b2189d711938d0fa7d9a79df47ddd66fa.zip
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>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi_bfin5xx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
index b3450b78cc50..18b313a57236 100644
--- a/drivers/spi/spi_bfin5xx.c
+++ b/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;
}