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:
Родитель
9677b0de10
Коммит
7370ed6b91
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче