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

greybus: light: Initialize mutex before using it

Light protocol driver is suffering from the same issue that was fixed in
camera driver earlier (commit a7c3b0c3c8da).

Big cleanup function is used instead of fine grained control in the
error path, and in one of the cases the mutex was found uninitialized
and so the oops seen in SW-6752.

Initialize the mutex before any code can access it.

Compile tested only.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarRui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 2aae92bd
......@@ -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 */
......
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