From: Alex Elder <elder@linaro.org>
Date: Wed, 22 Oct 2014 10:36:17 +0000 (-0500)
Subject: greybus: set route before sending packets
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=65e50f95f18066442093d4c49528804a9bc8956f;p=linux.git

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 bcb0ff0981645..b1ec0904fb28d 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;
 }