The function call paths are: ipr_shutdown (acquire the spinlock) irq_poll_disable msleep --> may sleep ipr_ata_post_internal (acquire the spinlock) ipr_device_reset ipr_send_blocking_cmd wait_for_completion --> may sleep (&hrrq->_lock is still held) I do not find a good way to fix them, so I only report.These possible bugs are found by my static analysis tool (DSAC) and checked by my code review.
Thanks, Jia-Ju Bai