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>
This commit is contained in:
Yi Li 2009-12-07 08:07:01 +00:00 коммит произвёл Mike Frysinger
Родитель 9677b0de10
Коммит 7370ed6b91
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -448,7 +448,7 @@ static irqreturn_t bfin_spi_pio_irq_handler(int irq, void *dev_id)
/* Move to next transfer */ /* Move to next transfer */
msg->state = bfin_spi_next_transfer(drv_data); msg->state = bfin_spi_next_transfer(drv_data);
disable_irq(drv_data->spi_irq); disable_irq_nosync(drv_data->spi_irq);
/* Schedule transfer tasklet */ /* Schedule transfer tasklet */
tasklet_schedule(&drv_data->pump_transfers); tasklet_schedule(&drv_data->pump_transfers);