summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/control.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@hovoldconsulting.com>2016-01-21 17:34:16 +0100
committerGreg Kroah-Hartman <gregkh@google.com>2016-01-21 22:45:09 -0800
commit24e094d687a23878024589a854ce66a070b769cc (patch)
tree21ad4d1e291515bc4691fab832b30af1a58b4e22 /drivers/staging/greybus/control.c
parent96c2af5c6bf7dda9498fdcea57fde1bdc677236a (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.c6
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;
}