]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
usb: dwc3: core: balance phy init and exit
authorLi Jun <jun.li@nxp.com>
Wed, 8 Sep 2021 02:28:19 +0000 (10:28 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 5 Nov 2021 09:20:08 +0000 (10:20 +0100)
commita7a622c6df57e24ee71a5c7fc326afc80ade9e89
treedc4349bedfe0ac0b91fd0db2e0c7d518bcaa23cb
parent588992823c21c284a5f1e806741f0f5530aea808
usb: dwc3: core: balance phy init and exit

BugLink: https://bugs.launchpad.net/bugs/1949640
commit 8cfac9a6744fcb143cb3e94ce002f09fd17fadbb upstream.

After we start to do core soft reset while usb role switch,
the phy init is invoked at every switch to device mode, but
its counter part de-init is missing, this causes the actual
phy init can not be done when we really want to re-init phy
like system resume, because the counter maintained by phy
core is not 0. considering phy init is actually redundant for
role switch, so move out the phy init from core soft reset to
dwc3 core init where is the only place required.

Fixes: f88359e1588b ("usb: dwc3: core: Do core softreset when switch mode")
Cc: <stable@vger.kernel.org>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Tested-by: John Stultz <john.stultz@linaro.org> #HiKey960
Acked-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Li Jun <jun.li@nxp.com>
Link: https://lore.kernel.org/r/1631068099-13559-1-git-send-email-jun.li@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/usb/dwc3/core.c