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>