i40evf: fix crash when setup Tx queues
authorJingjing Wu <jingjing.wu@intel.com>
Wed, 29 Jul 2015 00:54:57 +0000 (08:54 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 30 Jul 2015 00:15:32 +0000 (02:15 +0200)
commit8d2686c0e47d155c9ddaa7b8ca84214fca0cd65c
tree3d641b3b2147de65104cd5d114ba595a1ce3acca
parent66c51d2a525d58353acf8ca836a7ab962d8055cd
i40evf: fix crash when setup Tx queues

This patch fixes the issue:
Testpmd crashed with Segmentation fault when setup tx queues on vf
Steps for reproduce:
  - create one vf device from i40e driver
  - bind vf device to igb_uio and start testpmd

With debugging tools, we saw the struct i40e_vf is cleared after
memcpy(&dev->data->dev_conf, dev_conf, sizeof(dev->data->dev_conf)) in
rte_eth_dev_configure, which should not happen, and the pointer to
i40e_vf isn't in the range of i40e_adapter.

The root cause is the dev_private_size in i40e virtual function driver
struct rte_i40evf_pmd was set incorrectly.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Tested-by: Marvin Liu <yong.liu@intel.com>
drivers/net/i40e/i40e_ethdev_vf.c