The driver may sleep under a mutex, and the code path is:
aac_alloc_commands [line 1223: acquire the mutex]
aac_alloc_commands [line 1227]
bus_dmamap_create(BUS_DMA_WAITOK) [line 1250] --> may sleep
The possible fix of this bug is to replace the "BUS_DMA_WAITOK" in bus_dmamap_create with "BUS_DMA_NOWAIT".
This bug is found by a static analysis tool written by myself, and it is checked by my review of the FreeBSD code.