mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-24 10:49:54 +02:00
usb: xhci: tegra:Fix PM usage reference leak of tegra_xusb_unpowergate_partitions
commit8771039482upstream. pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. We fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Fixes:41a7426d25("usb: xhci: tegra: Unlink power domain devices") Cc: stable <stable@vger.kernel.org> Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20220319023822.145641-1-zhangqilong3@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4ebf2982db
commit
576b40690e
@@ -1034,13 +1034,13 @@ static int tegra_xusb_unpowergate_partitions(struct tegra_xusb *tegra)
|
||||
int rc;
|
||||
|
||||
if (tegra->use_genpd) {
|
||||
rc = pm_runtime_get_sync(tegra->genpd_dev_ss);
|
||||
rc = pm_runtime_resume_and_get(tegra->genpd_dev_ss);
|
||||
if (rc < 0) {
|
||||
dev_err(dev, "failed to enable XUSB SS partition\n");
|
||||
return rc;
|
||||
}
|
||||
|
||||
rc = pm_runtime_get_sync(tegra->genpd_dev_host);
|
||||
rc = pm_runtime_resume_and_get(tegra->genpd_dev_host);
|
||||
if (rc < 0) {
|
||||
dev_err(dev, "failed to enable XUSB Host partition\n");
|
||||
pm_runtime_put_sync(tegra->genpd_dev_ss);
|
||||
|
||||
Reference in New Issue
Block a user