From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Sat, 25 Jul 2015 04:40:05 +0000 (+0530)
Subject: greybus: es1: create svc connection early enough
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5a202efe63dde70885ba91c294690dbbf054a184;p=linux.git

greybus: es1: create svc connection early enough

The svc connection needs to be ready before creating the URBs, otherwise
the svc version request might come in before the AP was ready to parse
them.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
---

diff --git a/drivers/staging/greybus/es1.c b/drivers/staging/greybus/es1.c
index e203180e1e5c8..5418f4675ec13 100644
--- a/drivers/staging/greybus/es1.c
+++ b/drivers/staging/greybus/es1.c
@@ -563,6 +563,12 @@ static int ap_probe(struct usb_interface *interface,
 		return PTR_ERR(hd);
 	}
 
+	/* Initialize AP's greybus interface */
+	if (!gb_ap_svc_connection_create(hd)) {
+		retval = -EINVAL;
+		goto error;
+	}
+
 	es1 = hd_to_es1(hd);
 	es1->hd = hd;
 	es1->usb_intf = interface;
@@ -632,12 +638,6 @@ static int ap_probe(struct usb_interface *interface,
 		es1->cport_out_urb_busy[i] = false;	/* just to be anal */
 	}
 
-	/* Initialize AP's greybus interface */
-	if (!gb_ap_svc_connection_create(hd)) {
-		retval = -EINVAL;
-		goto error;
-	}
-
 	apb1_log_enable_dentry = debugfs_create_file("apb1_log_enable",
 							(S_IWUSR | S_IRUGO),
 							gb_debugfs_get(), es1,
diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
index aba1927fc34f0..d2c054a2ec0e8 100644
--- a/drivers/staging/greybus/es2.c
+++ b/drivers/staging/greybus/es2.c
@@ -663,6 +663,12 @@ static int ap_probe(struct usb_interface *interface,
 		return PTR_ERR(hd);
 	}
 
+	/* Initialize AP's greybus interface */
+	if (!gb_ap_svc_connection_create(hd)) {
+		retval = -EINVAL;
+		goto error;
+	}
+
 	es1 = hd_to_es1(hd);
 	es1->hd = hd;
 	es1->usb_intf = interface;
@@ -736,12 +742,6 @@ static int ap_probe(struct usb_interface *interface,
 		es1->cport_out_urb_busy[i] = false;	/* just to be anal */
 	}
 
-	/* Initialize AP's greybus interface */
-	if (!gb_ap_svc_connection_create(hd)) {
-		retval = -EINVAL;
-		goto error;
-	}
-
 	apb1_log_enable_dentry = debugfs_create_file("apb1_log_enable",
 							(S_IWUSR | S_IRUGO),
 							gb_debugfs_get(), es1,