Commit fb198317 authored by Viresh Kumar's avatar Viresh Kumar Committed by Greg Kroah-Hartman

greybus: connection: Call connection_destroy() from gb_connection_svc_connection_destroy()

connection_create() is called right after svc is requested to create the
connection and so connection_destroy() must be called just before we
request the SVC to destroy the connection.

Over that, this fixes the inconsistency where connection_create() is
called for all connections except SVC connection, but
connection_destroy() is called always.
Acked-by: default avatarAlexandre Bailon <abailon@baylibre.com>
Fixes: 5313ca607afb ("Greybus driver: add a new callbacks to driver")
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 1b7a9cd5
......@@ -318,6 +318,9 @@ gb_connection_svc_connection_destroy(struct gb_connection *connection)
if (connection->hd_cport_id == GB_SVC_CPORT_ID)
return;
if (connection->hd->driver->connection_destroy)
connection->hd->driver->connection_destroy(connection);
gb_svc_connection_destroy(connection->hd->svc,
connection->hd->endo->ap_intf_id,
connection->hd_cport_id,
......@@ -462,9 +465,6 @@ void gb_connection_destroy(struct gb_connection *connection)
list_del(&connection->hd_links);
spin_unlock_irq(&gb_connections_lock);
if (connection->hd->driver->connection_destroy)
connection->hd->driver->connection_destroy(connection);
if (connection->protocol)
gb_protocol_put(connection->protocol);
connection->protocol = NULL;
......
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