On Sat, Oct 14, 2023 at 05:24:53PM +0800, Zhang Shurong wrote: > 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) { It should not be necessary to do this. If dev_set_name() fails then device_add() will also fail. Alan Stern