Commit 67b81757 authored by Fabien Parent's avatar Fabien Parent Committed by Greg Kroah-Hartman

greybus: connection: destroy connection on failing to bind it

gb_connection_bind_protocol() returns proper error codes now and we
should destroy the connection on failures.

This change also fixes a NULL deref on hotplug when the control connection fails
to initialize.
Signed-off-by: default avatarFabien Parent <fparent@baylibre.com>
Reviewed-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 82ee1e6c
......@@ -239,7 +239,14 @@ gb_connection_create_range(struct greybus_host_device *hd,
spin_unlock_irq(&gb_connections_lock);
gb_connection_bind_protocol(connection);
retval = gb_connection_bind_protocol(connection);
if (retval) {
dev_err(&connection->dev, "failed to bind protocol: %d\n",
retval);
gb_connection_destroy(connection);
return NULL;
}
if (!connection->protocol)
dev_warn(&connection->dev,
"protocol 0x%02hhx handler not found\n", protocol_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment