Re: [PATCH v2] block: Keep RPM_ACTIVE in blk_pre_runtime_resume() when already active

From: Bart Van Assche

Date: Wed Nov 04 2026 - 16:02:07 EST


On 11/4/26 3:27 AM, Stanley Jhu wrote:
Differences from v1:
- Move SUSPENDED -> RESUMING explicitly in blk_pre_runtime_resume() and
clear pm_only only for RPM_RESUMING in blk_post_runtime_resume()

Hi Stanley,

Thank you for having addressed my concerns. There is an existing
issues that you may want to address with a future patch: Queue ACTIVE,
device suspended: after a failed resume, the queue is ACTIVE with
pm_only == 0 while the device is still RPM_SUSPENDED. So
blk_pm_resume_queue() never asks for a resume, and normal I/O goes to
a device the PM core thinks is suspended. A retry only happens if
something else calls pm_runtime_get*(). Commit 6e1fcab00a23 introduced
this behavior on purpose.

Thanks,

Bart.