On Tue, Jan 22, 2019 at 09:00:24AM +0000, Jun Li wrote: > Remove debugfs if tcpm register port fails. > > Signed-off-by: Li Jun <jun.li@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/usb/typec/tcpm/tcpm.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c > index 4f1f421..4cdc53d 100644 > --- a/drivers/usb/typec/tcpm/tcpm.c > +++ b/drivers/usb/typec/tcpm/tcpm.c > @@ -4787,12 +4787,12 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc) > > err = devm_tcpm_psy_register(port); > if (err) > - goto out_destroy_wq; > + goto out_role_sw_put; > > port->typec_port = typec_register_port(port->dev, &port->typec_caps); > if (IS_ERR(port->typec_port)) { > err = PTR_ERR(port->typec_port); > - goto out_destroy_wq; > + goto out_role_sw_put; > } > > if (tcpc->config && tcpc->config->alt_modes) { > @@ -4825,8 +4825,10 @@ struct tcpm_port *tcpm_register_port(struct device *dev, struct tcpc_dev *tcpc) > tcpm_log(port, "%s: registered", dev_name(dev)); > return port; > > -out_destroy_wq: > +out_role_sw_put: > usb_role_switch_put(port->role_sw); > +out_destroy_wq: > + tcpm_debugfs_exit(port); > destroy_workqueue(port->wq); > return ERR_PTR(err); > } > -- > 2.7.4 >