[BUG] drivers/scsi/dpt_i2o: a possible sleep-in-atomic bug in adpt_isr

From: Jia-Ju Bai
Date: Mon Dec 11 2017 - 20:58:18 EST


According to drivers/scsi/dpt_i2o.c, the kernel module may sleep in the interrupt handler.
The function call path is:
adpt_isr (interrupt handler)
adpt_send_nop
schedule_timeout_uninterruptible --> may sleep

A possible fixing is to replace "schedule_timeout_uninterruptible" with "mdelay".
If this fixing is correct, I can send a patch.
This possible is found by my static analysis tool (DSAC) and checked by my code review.


Thanks,
Jia-Ju Bai