greybus: interface: Preserve data received during hotplug event

This shall be used later to find a firmware blob for the interface, lets
save it in the interface structure.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index 025b2ba..73e7947 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -232,10 +232,6 @@
 	struct device *dev = &op->connection->dev;
 	struct gb_interface *intf;
 	u8 intf_id, device_id;
-	u32 unipro_mfg_id;
-	u32 unipro_prod_id;
-	u32 ara_vend_id;
-	u32 ara_prod_id;
 	int ret;
 
 	if (request->payload_size < sizeof(*hotplug)) {
@@ -252,10 +248,6 @@
 	 * XXX have the SVC get acknowledgement before we proceed.
 	 */
 	intf_id = hotplug->intf_id;
-	unipro_mfg_id = le32_to_cpu(hotplug->data.unipro_mfg_id);
-	unipro_prod_id = le32_to_cpu(hotplug->data.unipro_prod_id);
-	ara_vend_id = le32_to_cpu(hotplug->data.ara_vend_id);
-	ara_prod_id = le32_to_cpu(hotplug->data.ara_prod_id);
 
 	intf = gb_interface_create(hd, intf_id);
 	if (!intf) {
@@ -264,6 +256,11 @@
 		return -EINVAL;
 	}
 
+	intf->unipro_mfg_id = le32_to_cpu(hotplug->data.unipro_mfg_id);
+	intf->unipro_prod_id = le32_to_cpu(hotplug->data.unipro_prod_id);
+	intf->ara_vend_id = le32_to_cpu(hotplug->data.ara_vend_id);
+	intf->ara_prod_id = le32_to_cpu(hotplug->data.ara_prod_id);
+
 	/*
 	 * Create a device id for the interface:
 	 * - device id 0 (GB_DEVICE_ID_SVC) belongs to the SVC