From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kan Subject: [PATCH] vmxnet3: fixed segfault when initializing vmxnet3 pmd on linux platform Date: Wed, 12 Mar 2014 13:19:59 -0700 Message-ID: <1394655599-5991-1-git-send-email-dan@nyansa.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" The vmxnet3 PCI hardware resources were never memory mapped when RE_EAL_UNBIND_PORTS is not defined. Specifically, pci_dev->mem_resource is not mapped. The fix is to always set drv_flags with RTE_PCI_DRV_NEED_IGU for vmxnet3. This ensures pci_uio_map_resource() is called. Signed-off-by: Daniel Kan --- lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c index 6757aa2..8259cfe 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c @@ -267,9 +267,7 @@ static struct eth_driver rte_vmxnet3_pmd = { { .name = "rte_vmxnet3_pmd", .id_table = pci_id_vmxnet3_map, -#ifdef RTE_EAL_UNBIND_PORTS .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO, -#endif }, .eth_dev_init = eth_vmxnet3_dev_init, .dev_private_size = sizeof(struct vmxnet3_adapter), -- 1.7.9.5