On Thu, Jun 17, 2021 at 03:32:26PM +0800, Jing Xiangfeng wrote: > typec_register_altmode() misses to call altmode_id_remove() in an error > path. Add the missed function call to fix it. > > Fixes: 8a37d87d72f0 ("usb: typec: Bus type for alternate modes") > Signed-off-by: Jing Xiangfeng <jingxiangfeng@xxxxxxxxxx> Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/class.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c > index b9429c9f65f6..aeef453aa658 100644 > --- a/drivers/usb/typec/class.c > +++ b/drivers/usb/typec/class.c > @@ -517,8 +517,10 @@ typec_register_altmode(struct device *parent, > int ret; > > alt = kzalloc(sizeof(*alt), GFP_KERNEL); > - if (!alt) > + if (!alt) { > + altmode_id_remove(parent, id); > return ERR_PTR(-ENOMEM); > + } > > alt->adev.svid = desc->svid; > alt->adev.mode = desc->mode; > -- > 2.26.0.106.g9fadedd -- heikki