From: Dan Carpenter Date: Tue, 15 Apr 2025 10:45:08 +0000 (+0300) Subject: usb: typec: class: Unlocked on error in typec_register_partner() X-Git-Tag: v6.15-rc4~21^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=429a98abfc01d3d4378b7a00969437dc3e8f647c;p=thirdparty%2Fkernel%2Flinux.git usb: typec: class: Unlocked on error in typec_register_partner() We recently added some locking to this function but this error path was accidentally missed. Unlock before returning. Fixes: ec27386de23a ("usb: typec: class: Fix NULL pointer access") Cc: stable Signed-off-by: Dan Carpenter Reviewed-by: Heikki Krogerus Link: https://lore.kernel.org/r/Z_44tOtmml89wQcM@stanley.mountain Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c index 3df3e37369162..67a533e351506 100644 --- a/drivers/usb/typec/class.c +++ b/drivers/usb/typec/class.c @@ -1056,6 +1056,7 @@ struct typec_partner *typec_register_partner(struct typec_port *port, ret = device_register(&partner->dev); if (ret) { dev_err(&port->dev, "failed to register partner (%d)\n", ret); + mutex_unlock(&port->partner_link_lock); put_device(&partner->dev); return ERR_PTR(ret); }