[PATCH] usb: typec: retimer: Check dev_set_name() return value

From: Zhang Shurong
Date: Sat Oct 14 2023 - 05:25:03 EST


It's possible that dev_set_name() returns -ENOMEM.
We fix this by catching the error and handling it.

Fixes: ddaf8d96f93b ("usb: typec: Add support for retimers")
Signed-off-by: Zhang Shurong <zhang_shurong@xxxxxxxxxxx>
---
drivers/usb/typec/retimer.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/retimer.c b/drivers/usb/typec/retimer.c
index 4a7d1b5c4d86..f163856a78cd 100644
--- a/drivers/usb/typec/retimer.c
+++ b/drivers/usb/typec/retimer.c
@@ -122,8 +122,13 @@ typec_retimer_register(struct device *parent, const struct typec_retimer_desc *d
retimer->dev.class = &retimer_class;
retimer->dev.type = &typec_retimer_dev_type;
retimer->dev.driver_data = desc->drvdata;
- dev_set_name(&retimer->dev, "%s-retimer",
+ ret = dev_set_name(&retimer->dev, "%s-retimer",
desc->name ? desc->name : dev_name(parent));
+ if (ret) {
+ dev_err(parent, "failed to register retimer (%d)\n", ret);
+ put_device(&retimer->dev);
+ return ERR_PTR(ret);
+ }

ret = device_add(&retimer->dev);
if (ret) {
--
2.30.2