Message ID | 20210607205007.71458-1-andy.shevchenko@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 1a85b350a7741776a406005b943e3dec02c424ed |
Headers | show |
Series | [v2,1/3] usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe() | expand |
On Mon, Jun 07, 2021 at 11:50:05PM +0300, Andy Shevchenko wrote: > device_get_next_child_node() bumps a reference counting of a returned variable. > We have to balance it whenever we return to the caller. > > Fixes: 6701adfa9693 ("usb: typec: driver for Intel PMC mux control") > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> > Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > v2: moved put call into the conditional inside the loop (Heikki) > drivers/usb/typec/mux/intel_pmc_mux.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c b/drivers/usb/typec/mux/intel_pmc_mux.c > index dc8689db0100..221aa1c0e77a 100644 > --- a/drivers/usb/typec/mux/intel_pmc_mux.c > +++ b/drivers/usb/typec/mux/intel_pmc_mux.c > @@ -654,8 +654,10 @@ static int pmc_usb_probe(struct platform_device *pdev) > break; > > ret = pmc_usb_register_port(pmc, i, fwnode); > - if (ret) > + if (ret) { > + fwnode_handle_put(fwnode); > goto err_remove_ports; > + } > } > > platform_set_drvdata(pdev, pmc); > -- > 2.32.0
diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c b/drivers/usb/typec/mux/intel_pmc_mux.c index dc8689db0100..221aa1c0e77a 100644 --- a/drivers/usb/typec/mux/intel_pmc_mux.c +++ b/drivers/usb/typec/mux/intel_pmc_mux.c @@ -654,8 +654,10 @@ static int pmc_usb_probe(struct platform_device *pdev) break; ret = pmc_usb_register_port(pmc, i, fwnode); - if (ret) + if (ret) { + fwnode_handle_put(fwnode); goto err_remove_ports; + } } platform_set_drvdata(pdev, pmc);
device_get_next_child_node() bumps a reference counting of a returned variable. We have to balance it whenever we return to the caller. Fixes: 6701adfa9693 ("usb: typec: driver for Intel PMC mux control") Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> --- v2: moved put call into the conditional inside the loop (Heikki) drivers/usb/typec/mux/intel_pmc_mux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)