diff options
author | Yi Li <yi.li@analog.com> | 2009-12-07 03:07:01 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-10-18 02:49:38 -0400 |
commit | 7370ed6b91c37d7022a89a820b0fcd3156fa87fc (patch) | |
tree | 7a0eb591a99fb634a2bcc18fa16534ca8df68918 /drivers/spi/spi_bfin5xx.c | |
parent | 9677b0de10433d31e05864dfb4bf33d0c27f752a (diff) |
spi/bfin_spi: use nosync when disabling the IRQ from the 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: Yi Li <yi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'drivers/spi/spi_bfin5xx.c')
-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 54f9dbbc52e9..d446524aa894 100644 --- a/drivers/spi/spi_bfin5xx.c +++ b/drivers/spi/spi_bfin5xx.c | |||
@@ -448,7 +448,7 @@ static irqreturn_t bfin_spi_pio_irq_handler(int irq, void *dev_id) | |||
448 | /* Move to next transfer */ | 448 | /* Move to next transfer */ |
449 | msg->state = bfin_spi_next_transfer(drv_data); | 449 | msg->state = bfin_spi_next_transfer(drv_data); |
450 | 450 | ||
451 | disable_irq(drv_data->spi_irq); | 451 | disable_irq_nosync(drv_data->spi_irq); |
452 | 452 | ||
453 | /* Schedule transfer tasklet */ | 453 | /* Schedule transfer tasklet */ |
454 | tasklet_schedule(&drv_data->pump_transfers); | 454 | tasklet_schedule(&drv_data->pump_transfers); |