nvme: do not try to reconfigure APST when the controller is not live
Do not call nvme_configure_apst when the controller is not live, given that nvme_configure_apst will fail due the lack of an admin queue when the controller is being torn down and nvme_set_latency_tolerance is called from dev_pm_qos_hide_latency_tolerance. Fixes: 510a405d945b("nvme: fix memory leak for power latency tolerance") Reported-by: Peng Liu <liupeng17@lenovo.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
Родитель
74c22990f0
Коммит
53fe2a30bc
|
@ -2321,7 +2321,8 @@ static void nvme_set_latency_tolerance(struct device *dev, s32 val)
|
||||||
|
|
||||||
if (ctrl->ps_max_latency_us != latency) {
|
if (ctrl->ps_max_latency_us != latency) {
|
||||||
ctrl->ps_max_latency_us = latency;
|
ctrl->ps_max_latency_us = latency;
|
||||||
nvme_configure_apst(ctrl);
|
if (ctrl->state == NVME_CTRL_LIVE)
|
||||||
|
nvme_configure_apst(ctrl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче