[BUG] drivers/spi: a possible sleep-in-atomic bug in atmel_spi_remove

From: Jia-Ju Bai
Date: Tue Dec 12 2017 - 02:30:17 EST


According to drivers/spi/spi-atmel.c, the kernel module may sleep under a spinlock.
The function call path is:
atmel_spi_remove (acquire the spinlock)
atmel_spi_release_dma
dma_release_channel
mutex_lock --> may sleep

I do not find a good way to fix it, so I only report.
This possible bug is found by my static analysis tool (DSAC) and checked by my code review.


Thanks,
Jia-Ju Bai