]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb: typec: class: Unlocked on error in typec_register_partner()
authorDan Carpenter <dan.carpenter@linaro.org>
Tue, 15 Apr 2025 10:45:08 +0000 (13:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Apr 2025 12:31:58 +0000 (14:31 +0200)
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 <stable@kernel.org>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/Z_44tOtmml89wQcM@stanley.mountain
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/class.c

index 3df3e373691620c4e5cd0cb203027a7f5e770a8d..67a533e35150645715d85e768948a95e1cab3f5e 100644 (file)
@@ -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);
        }