mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-15 05:46:47 +07:00
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: Johan Hovold <johan@hovoldconsulting.com> Tested-by: Rui Miguel Silva <rui.silva@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
a4e08469eb
commit
4e2b1e46ab
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user