diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
index 19ab6647af706b0112440dcfebb47c996a31438c..bacac83d44d17492824ccbaf00de18fb929a1dd3 100644
--- a/drivers/usb/typec/tcpm/tcpci.c
+++ b/drivers/usb/typec/tcpm/tcpci.c
@@ -919,24 +919,25 @@ static int tcpci_probe(struct i2c_client *client)
 	err = regmap_raw_write(chip->data.regmap, TCPC_ALERT_MASK, &val,
 			       sizeof(u16));
 	if (err < 0)
-		return err;
+		return dev_err_probe(&client->dev, err, "failed to disable IRQs\n");
 
 	err = tcpci_check_std_output_cap(chip->data.regmap,
 					 TCPC_STD_OUTPUT_CAP_ORIENTATION);
 	if (err < 0)
-		return err;
+		return dev_err_probe(&client->dev, err, "failed to check output capability\n");
 
 	chip->data.set_orientation = err;
 
 	chip->tcpci = tcpci_register_port(&client->dev, &chip->data);
 	if (IS_ERR(chip->tcpci))
-		return PTR_ERR(chip->tcpci);
+		return dev_err_probe(&client->dev, PTR_ERR(chip->tcpci), "failed to register tcpci port\n");
 
 	err = devm_request_threaded_irq(&client->dev, client->irq, NULL,
 					_tcpci_irq,
 					IRQF_SHARED | IRQF_ONESHOT,
 					dev_name(&client->dev), chip);
 	if (err < 0)
+		dev_err_probe(&client->dev, err, "failed to request irq\n");
 		goto unregister_port;
 
 	/* Enable chip interrupts at last */