diff options
author | Barry Song <barry.song@analog.com> | 2010-01-22 05:07:30 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-10-18 02:49:40 -0400 |
commit | a75bd65b2189d711938d0fa7d9a79df47ddd66fa (patch) | |
tree | 6acca25eaf5bb0e9e75e5d6922a6224bfbb79d81 | |
parent | 5e8592dca303fb429d1641c205fe509f4b781ca2 (diff) |
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>
-rw-r--r-- | drivers/spi/spi_bfin5xx.c | 2 |
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) | |||
547 | dev_dbg(&drv_data->pdev->dev, | 547 | dev_dbg(&drv_data->pdev->dev, |
548 | "disable dma channel irq%d\n", | 548 | "disable dma channel irq%d\n", |
549 | drv_data->dma_channel); | 549 | drv_data->dma_channel); |
550 | dma_disable_irq(drv_data->dma_channel); | 550 | dma_disable_irq_nosync(drv_data->dma_channel); |
551 | 551 | ||
552 | return IRQ_HANDLED; | 552 | return IRQ_HANDLED; |
553 | } | 553 | } |