diff options
author | Alex Elder <elder@linaro.org> | 2014-10-22 05:36:17 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <greg@kroah.com> | 2014-10-22 18:46:21 +0800 |
commit | 65e50f95f18066442093d4c49528804a9bc8956f (patch) | |
tree | a07ee0486b76cd469446bf8c965c6132b957c8e2 /drivers | |
parent | 8a9bf8a99669e365bdc89d27bbc29bf0216472f6 (diff) | |
download | linux-65e50f95f18066442093d4c49528804a9bc8956f.tar.gz linux-65e50f95f18066442093d4c49528804a9bc8956f.tar.bz2 linux-65e50f95f18066442093d4c49528804a9bc8956f.zip |
greybus: set route before sending packets
The route for a connection needs to be set *before* we initialize
the connection.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/greybus/module.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/staging/greybus/module.c b/drivers/staging/greybus/module.c index bcb0ff098164..b1ec0904fb28 100644 --- a/drivers/staging/greybus/module.c +++ b/drivers/staging/greybus/module.c @@ -130,13 +130,21 @@ gb_module_interface_init(struct gb_module *gmod, u8 interface_id, u8 device_id) interface_id); return -ENOENT; } + + ret = svc_set_route_send(interface, gmod->hd); + if (ret) { + dev_err(gmod->hd->parent, "failed to set route (%d)\n", ret); + return ret; + } + ret = gb_interface_connections_init(interface); if (ret) { dev_err(gmod->hd->parent, "module interface init error %d\n", ret); + /* XXX clear route */ return ret; } interface->device_id = device_id; - return svc_set_route_send(interface, gmod->hd); + return 0; } |