]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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 ab6c60ec874cdb5b9154d5c70b432d9e0a577f22..bf5fa101e541eb540999d3296cafb52bc580774d 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;
        }