OSDN Git Service

greybus: connection: remove extra kfree() call
authorAlex Elder <elder@linaro.org>
Fri, 12 Jun 2015 15:21:06 +0000 (10:21 -0500)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 12 Jun 2015 19:13:01 +0000 (12:13 -0700)
When an error occurs in the device_add() call for a connection, the
device reference is dropped as required.  Because that's the device's
only reference, that will also lead to gb_connection_release() being
called, which frees the connection structure.

Right now we're then making an extra request to free the connection,
which is wrong.  Fix that.

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

index ab6c60e..bf5fa10 100644 (file)
@@ -219,7 +219,7 @@ struct gb_connection *gb_connection_create(struct gb_bundle *bundle,
                gb_connection_hd_cport_id_free(connection);
                gb_protocol_put(connection->protocol);
                put_device(&connection->dev);
-               kfree(connection);
+
                return NULL;
        }