enic: fix bug introduced with scatter rx

    Author: Nelson Escobar <neescoba@cisco.com>
    Date:   Mon Jun 13 17:24:41 2016 -0700

    We did not properly set the rq pointers we pass up to dpdk when
    rx scatter was introduced.  This resulted in segfaults whenever
    more than one rq was being used.

Change-Id: I77a9793ea9035baa1ada77d3af7bc83baf58d097
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
diff --git a/dpdk/dpdk-16.04_patches/0031-enic-fix-bug-introduced-with-scatter-rx.patch b/dpdk/dpdk-16.04_patches/0031-enic-fix-bug-introduced-with-scatter-rx.patch
new file mode 100644
index 0000000..88586eb
--- /dev/null
+++ b/dpdk/dpdk-16.04_patches/0031-enic-fix-bug-introduced-with-scatter-rx.patch
@@ -0,0 +1,24 @@
+commit f0ca43396ebeb85228f9737a52caa68fc06aa9ee
+Author: Nelson Escobar <neescoba@cisco.com>
+Date:   Mon Jun 13 17:24:41 2016 -0700
+
+    enic: fix bug introduced with scatter rx
+    
+    We did not properly set the rq pointers we pass up to dpdk when
+    rx scatter was introduced.  This resulted in segfaults whenever
+    more than one rq was being used.
+
+diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
+index e5b84e1..66fddb1 100644
+--- a/drivers/net/enic/enic_ethdev.c
++++ b/drivers/net/enic/enic_ethdev.c
+@@ -279,7 +279,8 @@ static int enicpmd_dev_rx_queue_setup(struct rte_eth_dev *eth_dev,
+ 		return -EINVAL;
+ 	}
+ 
+-	eth_dev->data->rx_queues[queue_idx] = (void *)&enic->rq[queue_idx];
++	eth_dev->data->rx_queues[queue_idx] =
++		(void *)&enic->rq[enic_sop_rq(enic, queue_idx)];
+ 
+ 	ret = enic_alloc_rq(enic, queue_idx, socket_id, mp, nb_desc);
+ 	if (ret) {