Commit 9997ab35 authored by Jun Li's avatar Jun Li Committed by Greg Kroah-Hartman
Browse files

usb: typec: tpcm: improve error handling of tcpm_register_port



Remove debugfs if tcpm register port fails.

Signed-off-by: default avatarLi Jun <jun.li@nxp.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f84f9ae3
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -4810,12 +4810,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) {
@@ -4848,8 +4848,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);
}