]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
nvme: fix memory leak for power latency tolerance
authorYufen Yu <yuyufen@huawei.com>
Fri, 17 May 2019 02:30:07 +0000 (19:30 -0700)
committerKeith Busch <keith.busch@intel.com>
Fri, 17 May 2019 17:08:09 +0000 (11:08 -0600)
Unconditionally hide device pm latency tolerance when uninitializing
the controller to ensure all qos resources are released so that we're
not leaking this memory. This is safe to call if none were allocated in
the first place, or were previously freed.

Fixes: c5552fde102fc("nvme: Enable autonomous power state transitions")
Suggested-by: Keith Busch <keith.busch@intel.com>
Tested-by: David Milburn <dmilburn@redhat.com>
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
[changelog]
Signed-off-by: Keith Busch <keith.busch@intel.com>
drivers/nvme/host/core.c

index d4226c18eb71e43796485385916d4cad292a73e4..e1449c196f203e4da0fda8e04240c2e3e784e5ba 100644 (file)
@@ -3700,6 +3700,7 @@ EXPORT_SYMBOL_GPL(nvme_start_ctrl);
 
 void nvme_uninit_ctrl(struct nvme_ctrl *ctrl)
 {
+       dev_pm_qos_hide_latency_tolerance(ctrl->device);
        cdev_device_del(&ctrl->cdev, ctrl->device);
 }
 EXPORT_SYMBOL_GPL(nvme_uninit_ctrl);