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 <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
>  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
> 

Reply via email to