OSDN Git Service

greybus: connection: remove lock around ida_simple_* functions
authorGreg Kroah-Hartman <gregkh@google.com>
Thu, 14 May 2015 17:40:02 +0000 (10:40 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 14 May 2015 20:35:10 +0000 (13:35 -0700)
ida_simple_* has a built-in spinlock, no need to grab another lock when
accessing it.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Reviewed-by: Alex Elder <elder@linaro.org>
drivers/staging/greybus/connection.c

index 5ec161b..51d505e 100644 (file)
@@ -63,9 +63,7 @@ static bool gb_connection_hd_cport_id_alloc(struct gb_connection *connection)
        struct ida *ida = &connection->hd->cport_id_map;
        int id;
 
-       spin_lock_irq(&gb_connections_lock);
        id = ida_simple_get(ida, 0, HOST_DEV_CPORT_ID_MAX, GFP_ATOMIC);
-       spin_unlock_irq(&gb_connections_lock);
        if (id < 0)
                return false;
 
@@ -81,9 +79,7 @@ static void gb_connection_hd_cport_id_free(struct gb_connection *connection)
 {
        struct ida *ida = &connection->hd->cport_id_map;
 
-       spin_lock_irq(&gb_connections_lock);
        ida_simple_remove(ida, connection->hd_cport_id);
-       spin_unlock_irq(&gb_connections_lock);
        connection->hd_cport_id = CPORT_ID_BAD;
 }