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>
diff --git a/drivers/staging/greybus/module.c b/drivers/staging/greybus/module.c
index bcb0ff0..b1ec090 100644
--- a/drivers/staging/greybus/module.c
+++ b/drivers/staging/greybus/module.c
@@ -130,13 +130,21 @@
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;
}