Message ID | 20241020-qcom_pmic_typec-fwnode_remove-v2-0-7054f3d2e215@gmail.com |
---|---|
Headers | show |
Series | usb: typec: qcom-pmic-typec: fix missing fwnode removal in error path | expand |
On 20/10/2024 13:56, Javier Carrasco wrote: > The right function to release a fwnode acquired via > device_get_named_child_node() is fwnode_handle_put(), and not > fwnode_remove_software_node(), as no software node is being handled. > > Replace the calls to fwnode_remove_software_node() with > fwnode_handle_put() in qcom_pmic_typec_probe() and > qcom_pmic_typec_remove(). > > Cc: stable@vger.kernel.org > Fixes: a4422ff22142 ("usb: typec: qcom: Add Qualcomm PMIC Type-C driver") > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> > --- > drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > index 2201eeae5a99..73a159e67ec2 100644 > --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > @@ -123,7 +123,7 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev) > port_unregister: > tcpm_unregister_port(tcpm->tcpm_port); > fwnode_remove: > - fwnode_remove_software_node(tcpm->tcpc.fwnode); > + fwnode_handle_put(tcpm->tcpc.fwnode); > > return ret; > } > @@ -135,7 +135,7 @@ static void qcom_pmic_typec_remove(struct platform_device *pdev) > tcpm->pdphy_stop(tcpm); > tcpm->port_stop(tcpm); > tcpm_unregister_port(tcpm->tcpm_port); > - fwnode_remove_software_node(tcpm->tcpc.fwnode); > + fwnode_handle_put(tcpm->tcpc.fwnode); > } > > static const struct pmic_typec_resources pm8150b_typec_res = { > Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
On Sun, Oct 20, 2024 at 02:56:34PM +0200, Javier Carrasco wrote: > The right function to release a fwnode acquired via > device_get_named_child_node() is fwnode_handle_put(), and not > fwnode_remove_software_node(), as no software node is being handled. > > Replace the calls to fwnode_remove_software_node() with > fwnode_handle_put() in qcom_pmic_typec_probe() and > qcom_pmic_typec_remove(). > > Cc: stable@vger.kernel.org > Fixes: a4422ff22142 ("usb: typec: qcom: Add Qualcomm PMIC Type-C driver") > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > index 2201eeae5a99..73a159e67ec2 100644 > --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c > @@ -123,7 +123,7 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev) > port_unregister: > tcpm_unregister_port(tcpm->tcpm_port); > fwnode_remove: > - fwnode_remove_software_node(tcpm->tcpc.fwnode); > + fwnode_handle_put(tcpm->tcpc.fwnode); > > return ret; > } > @@ -135,7 +135,7 @@ static void qcom_pmic_typec_remove(struct platform_device *pdev) > tcpm->pdphy_stop(tcpm); > tcpm->port_stop(tcpm); > tcpm_unregister_port(tcpm->tcpm_port); > - fwnode_remove_software_node(tcpm->tcpc.fwnode); > + fwnode_handle_put(tcpm->tcpc.fwnode); > } > > static const struct pmic_typec_resources pm8150b_typec_res = { > > -- > 2.43.0
This series fixes the handling of an fwnode that is not released in all error paths and uses the wrong function to release it (spotted by Dmitry Baryshkov). To: Bryan O'Donoghue <bryan.odonoghue@linaro.org> To: Heikki Krogerus <heikki.krogerus@linux.intel.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Caleb Connolly <caleb.connolly@linaro.org> To: Guenter Roeck <linux@roeck-us.net> Cc: linux-arm-msm@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Changes in v2: - add patch to use fwnode_handle_put() instead of fwnode_remove_software-node(). - Link to v1: https://lore.kernel.org/r/20241019-qcom_pmic_typec-fwnode_remove-v1-1-884968902979@gmail.com --- Javier Carrasco (2): usb: typec: qcom-pmic-typec: use fwnode_handle_put() to release fwnodes usb: typec: qcom-pmic-typec: fix missing fwnode removal in error path drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) --- base-commit: f2493655d2d3d5c6958ed996b043c821c23ae8d3 change-id: 20241019-qcom_pmic_typec-fwnode_remove-00dc49054cf7 Best regards,