diff options
author | Thierry Reding <treding@nvidia.com> | 2020-03-18 23:25:54 +0100 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2020-03-19 14:00:04 +0100 |
commit | 2f8da84def73e1dd89385146e1dbb2ae2c8e0a6a (patch) | |
tree | 49393740be1a16f05e58d9aa54787616a0ea6784 /lib/livepatch | |
parent | phy: tegra: Print -EPROBE_DEFER error message at debug level (diff) | |
download | linux-2f8da84def73e1dd89385146e1dbb2ae2c8e0a6a.tar.xz linux-2f8da84def73e1dd89385146e1dbb2ae2c8e0a6a.zip |
phy: tegra: Fix regulator leak
Devices are created for each port of the XUSB pad controller. Each USB 2
and USB 3 port can potentially have an associated VBUS power supply that
needs to be removed when the device is removed.
Since port devices never bind to a driver, the driver core will not get
to perform the cleanup of device-managed resources that usually happens
on driver unbind.
Now, the driver core will also perform device-managed resource cleanup
for driver-less devices when they are released. However, when a device
link is created between the regulator and the port device, as part of
regulator_get(), the regulator takes a reference to the port device and
prevents it from being released unless regulator_put() is called, which
will never happen.
Avoid this by using the non-device-managed API and manually releasing
the regulator reference when the port is unregistered.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'lib/livepatch')
0 files changed, 0 insertions, 0 deletions