]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
blk-mq: Abort suspend when wakeup events are pending
authorCong Zhang <cong.zhang@oss.qualcomm.com>
Wed, 3 Dec 2025 03:34:21 +0000 (11:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:39 +0000 (13:09 +0100)
commit8fe7de5d1c7fba4a7e7beb28f08bc70224875554
tree8a1d56a4d0bf1195cade6095786a74f32263d303
parentf123e1fad3a8d587ae2ad05d109216f0d3b8ef37
blk-mq: Abort suspend when wakeup events are pending

[ Upstream commit c196bf43d706592d8801a7513603765080e495fb ]

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: bf0beec0607d ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
block/blk-mq.c