diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
index 9c76c3d0c6cff9c9b94ef35fb0cb4be0e395aad6..0c3c03940d951ca9ec6e3388a598e0e61cefc308 100644
--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -2646,6 +2646,7 @@ struct typec_port *typec_register_port(struct device *parent,
 	port->sw = typec_switch_get(&port->dev);
 	if (IS_ERR(port->sw)) {
 		ret = PTR_ERR(port->sw);
+		dev_err_probe(parent, ret, "failed to get switch\n");
 		put_device(&port->dev);
 		return ERR_PTR(ret);
 	}
@@ -2653,6 +2654,7 @@ struct typec_port *typec_register_port(struct device *parent,
 	port->mux = typec_mux_get(&port->dev);
 	if (IS_ERR(port->mux)) {
 		ret = PTR_ERR(port->mux);
+		dev_err_probe(parent, ret, "failed to get mux\n");
 		put_device(&port->dev);
 		return ERR_PTR(ret);
 	}
@@ -2660,6 +2662,7 @@ struct typec_port *typec_register_port(struct device *parent,
 	port->retimer = typec_retimer_get(&port->dev);
 	if (IS_ERR(port->retimer)) {
 		ret = PTR_ERR(port->retimer);
+		dev_err_probe(parent, ret, "failed to get retimer\n");
 		put_device(&port->dev);
 		return ERR_PTR(ret);
 	}
@@ -2675,7 +2678,7 @@ struct typec_port *typec_register_port(struct device *parent,
 
 	ret = usb_power_delivery_link_device(port->pd, &port->dev);
 	if (ret) {
-		dev_err(&port->dev, "failed to link pd\n");
+		dev_err_probe(parent, ret, "failed to link pd\n");
 		device_unregister(&port->dev);
 		return ERR_PTR(ret);
 	}