mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 00:15:49 -04:00
usb: typec: qcom-pmic-typec: fix missing fwnode removal in error path
If drm_dp_hpd_bridge_register() fails, the probe function returns
without removing the fwnode via fwnode_handle_put(), leaking the
resource.
Jump to fwnode_remove if drm_dp_hpd_bridge_register() fails to remove
the fwnode acquired with device_get_named_child_node().
Cc: stable@vger.kernel.org
Fixes: 7d9f1b72b2 ("usb: typec: qcom-pmic-typec: switch to DRM_AUX_HPD_BRIDGE")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20241020-qcom_pmic_typec-fwnode_remove-v2-2-7054f3d2e215@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7f02b8a5b6
commit
b8423a2f58
@@ -93,8 +93,10 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev)
|
||||
return -EINVAL;
|
||||
|
||||
bridge_dev = devm_drm_dp_hpd_bridge_alloc(tcpm->dev, to_of_node(tcpm->tcpc.fwnode));
|
||||
if (IS_ERR(bridge_dev))
|
||||
return PTR_ERR(bridge_dev);
|
||||
if (IS_ERR(bridge_dev)) {
|
||||
ret = PTR_ERR(bridge_dev);
|
||||
goto fwnode_remove;
|
||||
}
|
||||
|
||||
tcpm->tcpm_port = tcpm_register_port(tcpm->dev, &tcpm->tcpc);
|
||||
if (IS_ERR(tcpm->tcpm_port)) {
|
||||
|
||||
Reference in New Issue
Block a user