Commit c196bf4
blk-mq: Abort suspend when wakeup events are pending
During system suspend, wakeup capable IRQs for block device can be
delayed, which can cause blk_mq_hctx_notify_offline() to hang
indefinitely while waiting for pending request to complete.
Skip the request waiting loop and abort suspend when wakeup events are
pending to prevent the deadlock.
Fixes: bf0beec ("blk-mq: drain I/O when all CPUs in a hctx are offline")
Signed-off-by: Cong Zhang <cong.zhang@oss.qualcomm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>1 parent 71075d2 commit c196bf4
1 file changed
Lines changed: 16 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
3718 | 3719 | | |
3719 | 3720 | | |
3720 | 3721 | | |
| 3722 | + | |
3721 | 3723 | | |
3722 | 3724 | | |
3723 | 3725 | | |
| |||
3738 | 3740 | | |
3739 | 3741 | | |
3740 | 3742 | | |
3741 | | - | |
| 3743 | + | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
3742 | 3755 | | |
| 3756 | + | |
3743 | 3757 | | |
3744 | 3758 | | |
3745 | 3759 | | |
3746 | | - | |
| 3760 | + | |
3747 | 3761 | | |
3748 | 3762 | | |
3749 | 3763 | | |
| |||
0 commit comments