On 20/10/2024 12:40, Dmitry Baryshkov wrote:
On Sat, Oct 19, 2024 at 11:10:51PM +0200, Javier Carrasco wrote:
If drm_dp_hpd_bridge_register() fails, the probe function returns without removing the fwnode via fwnode_remove_software_node(), leaking the resource.
Jump to fwnode_remove if drm_dp_hpd_bridge_register() fails to remove the software node acquired with device_get_named_child_node().
I think the fwnode_remove_software_node() is not a proper cleanup function here (and was most likely c&p from some other driver). See the comment in front of device_get_named_child_node().
Please add another patch before this one, replacing fwnode_remove_software_node() with fwnode_handle_put().
That is right, it was probably copied from a driver that called fwnode_create_software_node() to initialize the fwnode. I will replace it in the probe function as well as in qcom_pmic_typec_remove(), where the fwnode is again released via fwnode_remove_software_node().
Thanks and best regards, Javier Carrasco