diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c index 78fb8a9f6a48..3d42a5dafee9 100644 --- a/drivers/staging/greybus/light.c +++ b/drivers/staging/greybus/light.c @@ -1221,6 +1221,8 @@ static int gb_lights_probe(struct gb_bundle *bundle, if (!glights) return -ENOMEM; + mutex_init(&glights->lights_lock); + connection = gb_connection_create(bundle, le16_to_cpu(cport_desc->id), gb_lights_request_handler); if (IS_ERR(connection)) { @@ -1231,8 +1233,6 @@ static int gb_lights_probe(struct gb_bundle *bundle, glights->connection = connection; gb_connection_set_data(connection, glights); - mutex_init(&glights->lights_lock); - greybus_set_drvdata(bundle, glights); /* We aren't ready to receive an incoming request yet */