diff options
author | Johan Hovold <johan@hovoldconsulting.com> | 2016-01-21 17:34:16 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-01-21 22:45:09 -0800 |
commit | 24e094d687a23878024589a854ce66a070b769cc (patch) | |
tree | 21ad4d1e291515bc4691fab832b30af1a58b4e22 /drivers/staging/greybus/control.c | |
parent | 96c2af5c6bf7dda9498fdcea57fde1bdc677236a (diff) |
greybus: connection: return error-valued pointer on creation errors
Return an ERR_PTR on errors when creating connections.
This allows driver probe to fail with a more informative error message
as not all connection creation errors are due to memory exhaustion.
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>
Diffstat (limited to 'drivers/staging/greybus/control.c')
-rw-r--r-- | drivers/staging/greybus/control.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/greybus/control.c b/drivers/staging/greybus/control.c index a766ec8b0228..fb0bb1c40d99 100644 --- a/drivers/staging/greybus/control.c +++ b/drivers/staging/greybus/control.c @@ -187,8 +187,10 @@ struct gb_control *gb_control_create(struct gb_interface *intf) return NULL; control->connection = gb_connection_create_control(intf); - if (!control->connection) { - dev_err(&intf->dev, "failed to create control connection\n"); + if (IS_ERR(control->connection)) { + dev_err(&intf->dev, + "failed to create control connection: %ld\n", + PTR_ERR(control->connection)); kfree(control); return NULL; } |