]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xhci: hisilicon: fix refercence leak in xhci_histb_probe
authorZhang Qilong <zhangqilong3@huawei.com>
Fri, 6 Nov 2020 12:22:21 +0000 (20:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Nov 2020 18:18:49 +0000 (19:18 +0100)
commit83361a5464e28dde737b4d6c7730fc490233cdc7
tree8da3136b971c696807c71e0920d6bb868137b1a5
parent9eb97beaf594123e8bf448f68fa44e08b3d0d89c
xhci: hisilicon: fix refercence leak in xhci_histb_probe

commit 76255470ffa2795a44032e8b3c1ced11d81aa2db upstream.

pm_runtime_get_sync() will increment pm usage at first and it
will resume the device later. We should decrease the usage count
whetever it succeeded or failed(maybe runtime of the device has
error, or device is in inaccessible state, or other error state).
If we do not call put operation to decrease the reference, it will
result in reference leak in xhci_histb_probe. Moreover, this
device cannot enter the idle state and always stay busy or other
non-idle state later. So we fixed it by jumping to error handling
branch.

Fixes: c508f41da0788 ("xhci: hisilicon: support HiSilicon STB xHCI host controller")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20201106122221.2304528-1-zhangqilong3@huawei.com
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-histb.c