linux/drivers/phy/tegra
Ma Ke f774628bc1 phy: Fix error handling in tegra_xusb_port_init
commit b2ea5f4958 upstream.

If device_add() fails, do not use device_unregister() for error
handling. device_unregister() consists two functions: device_del() and
put_device(). device_unregister() should only be called after
device_add() succeeded because device_del() undoes what device_add()
does if successful. Change device_unregister() to put_device() call
before returning from the function.

As comment of device_add() says, 'if device_add() succeeds, you should
call device_del() when you want to get rid of it. If device_add() has
not succeeded, use only put_device() to drop the reference count'.

Found by code review.

Cc: stable@vger.kernel.org
Fixes: 53d2a715c2 ("phy: Add Tegra XUSB pad controller support")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20250303072739.3874987-1-make24@iscas.ac.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-05-22 14:10:06 +02:00
..
Kconfig phy: tegra: Select USB_COMMON for usb_get_maximum_speed() 2020-04-16 15:05:53 +02:00
Makefile phy: tegra: xusb: Add Tegra194 support 2020-03-19 13:59:46 +01:00
phy-tegra194-p2u.c phy: tegra: Add PCIe PIPE2UPHY support for Tegra234 2022-07-05 11:44:35 +05:30
xusb-tegra124.c phy: tegra: Don't use device-managed API to allocate ports 2020-03-19 14:00:05 +01:00
xusb-tegra186.c phy: tegra: xusb: reset VBUS & ID OVERRIDE 2025-03-07 16:56:49 +01:00
xusb-tegra210.c phy: tegra: xusb: Tegra210 host mode VBUS control 2021-06-03 14:52:45 +02:00
xusb.c phy: Fix error handling in tegra_xusb_port_init 2025-05-22 14:10:06 +02:00
xusb.h phy: tegra: xusb: add utmi pad power on/down ops 2022-08-19 11:10:08 +02:00