Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e2b1e46 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

greybus: connection: fix connection initialisation



Make sure connection is fully initialised before registering the
connection device and adding it to the host-device and bundle lists.

Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Tested-by: default avatarRui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent a4e08469
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -183,6 +183,10 @@ gb_connection_create_range(struct greybus_host_device *hd,
	connection->bundle = bundle;
	connection->state = GB_CONNECTION_STATE_DISABLED;

	atomic_set(&connection->op_cycle, 0);
	spin_lock_init(&connection->lock);
	INIT_LIST_HEAD(&connection->operations);

	connection->dev.parent = parent;
	connection->dev.bus = &greybus_bus_type;
	connection->dev.type = &greybus_connection_type;
@@ -215,10 +219,6 @@ gb_connection_create_range(struct greybus_host_device *hd,

	spin_unlock_irq(&gb_connections_lock);

	atomic_set(&connection->op_cycle, 0);
	spin_lock_init(&connection->lock);
	INIT_LIST_HEAD(&connection->operations);

	/* XXX Will have to establish connections to get version */
	gb_connection_bind_protocol(connection);
	if (!connection->protocol)