diff options
| author | WenTao Liang <vulab@iscas.ac.cn> | 2026-06-11 21:11:21 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-06-25 16:04:11 +0100 |
| commit | 692c354bef03b77b30e57e61934da502c8a12d45 (patch) | |
| tree | c84b1427b03f5378944d33a0e122ede322874715 /rust/kernel/drm/gpuvm | |
| parent | f8f680609c2b3ab795ffcd6f21585b6dfc46d395 (diff) | |
usb: dwc3: meson-g12a: fix refcount leak in dwc3_meson_g12a_resume()
If dwc3_meson_g12a_resume() succeeds in calling
reset_control_reset(), an internal triggered_count reference is
acquired. If any later step fails (usb_init, phy_init,
phy_power_on, regulator_enable, or usb_post_init), the function
returns the error without rearming the reset control. This leaks
the reference and leaves the reset control in a triggered state,
causing future reset_control_reset() calls to incorrectly return
early as if already reset.
Add an error path that calls reset_control_rearm() to balance
the reference before returning the error.
Cc: stable <stable@kernel.org>
Fixes: 5b0ba0caaf3a ("usb: dwc3: meson-g12a: refactor usb init")
Signed-off-by: WenTao Liang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20260611131121.81784-1-vulab@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'rust/kernel/drm/gpuvm')
0 files changed, 0 insertions, 0 deletions
