greybus: connection: drop the connection_mutex
authorJohan Hovold <johan@hovoldconsulting.com>
Tue, 19 Jan 2016 11:51:24 +0000 (12:51 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 19 Jan 2016 20:17:13 +0000 (12:17 -0800)
Drop the useless connection_mutex that did not, and can not be used to
prevent connection lookup races in atomic context and therefore serves
no purpose.

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/connection.c

index 1d7c21e03bfa63343098c9d87c19553ee45d000c..bfd2c0dee056e8e9447f2b89b6f2a200843af033 100644 (file)
@@ -66,8 +66,6 @@ void greybus_data_rcvd(struct gb_host_device *hd, u16 cport_id,
 }
 EXPORT_SYMBOL_GPL(greybus_data_rcvd);
 
-static DEFINE_MUTEX(connection_mutex);
-
 static void gb_connection_kref_release(struct kref *kref)
 {
        struct gb_connection *connection;
@@ -75,7 +73,6 @@ static void gb_connection_kref_release(struct kref *kref)
        connection = container_of(kref, struct gb_connection, kref);
 
        kfree(connection);
-       mutex_unlock(&connection_mutex);
 }
 
 static void gb_connection_init_name(struct gb_connection *connection)
@@ -519,8 +516,7 @@ void gb_connection_destroy(struct gb_connection *connection)
        ida_simple_remove(id_map, connection->hd_cport_id);
        connection->hd_cport_id = CPORT_ID_BAD;
 
-       kref_put_mutex(&connection->kref, gb_connection_kref_release,
-                      &connection_mutex);
+       kref_put(&connection->kref, gb_connection_kref_release);
 }
 
 void gb_connection_latency_tag_enable(struct gb_connection *connection)