[dpdk-dev] [PATCH] app/test-pmd: fix rte_pci_tailq not initialized before used
On Wed, Mar 11, 2015 at 9:59 AM, David Marchand wrote: > Hello Marvin, > > I think this fix will break ivshmem init. > pci_init was moved when introducing ivshmem_init. > > If you have a setup for this, can you check ivshmem init with your fix ? > > Thanks. > I just posted a different fix. If yours breaks ivshmem, please test mine. Thanks. -- David Marchand
[dpdk-dev] [PATCH] app/test-pmd: fix rte_pci_tailq not initialized before used
Function rte_eal_pci_init will cast pci resource list and used for insert probed device later. But all tailq initialized in function rte_eal_tailqs_init, so rte_eal_pci_init must be called after it. Signed-off-by: Marvin Liu diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index bd770cf..576f9f8 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -755,9 +755,6 @@ rte_eal_init(int argc, char **argv) rte_config_init(); - if (rte_eal_pci_init() < 0) - rte_panic("Cannot init PCI\n"); - #ifdef RTE_LIBRTE_IVSHMEM if (rte_eal_ivshmem_init() < 0) rte_panic("Cannot init IVSHMEM\n"); @@ -792,6 +789,9 @@ rte_eal_init(int argc, char **argv) if (rte_eal_timer_init() < 0) rte_panic("Cannot init HPET or TSC timers\n"); + if (rte_eal_pci_init() < 0) + rte_panic("Cannot init PCI\n"); + eal_check_mem_on_local_socket(); rte_eal_mcfg_complete(); -- 1.9.3
[dpdk-dev] [PATCH] app/test-pmd: fix rte_pci_tailq not initialized before used
Hello Marvin, I think this fix will break ivshmem init. pci_init was moved when introducing ivshmem_init. If you have a setup for this, can you check ivshmem init with your fix ? Thanks. -- David Marchand On Wed, Mar 11, 2015 at 9:43 AM, Yong Liu wrote: > Function rte_eal_pci_init will cast pci resource list and used for insert > probed device later. But all tailq initialized in function > rte_eal_tailqs_init, so rte_eal_pci_init must be called after it. > > Signed-off-by: Marvin Liu > > diff --git a/lib/librte_eal/linuxapp/eal/eal.c > b/lib/librte_eal/linuxapp/eal/eal.c > index bd770cf..576f9f8 100644 > --- a/lib/librte_eal/linuxapp/eal/eal.c > +++ b/lib/librte_eal/linuxapp/eal/eal.c > @@ -755,9 +755,6 @@ rte_eal_init(int argc, char **argv) > > rte_config_init(); > > - if (rte_eal_pci_init() < 0) > - rte_panic("Cannot init PCI\n"); > - > #ifdef RTE_LIBRTE_IVSHMEM > if (rte_eal_ivshmem_init() < 0) > rte_panic("Cannot init IVSHMEM\n"); > @@ -792,6 +789,9 @@ rte_eal_init(int argc, char **argv) > if (rte_eal_timer_init() < 0) > rte_panic("Cannot init HPET or TSC timers\n"); > > + if (rte_eal_pci_init() < 0) > + rte_panic("Cannot init PCI\n"); > + > eal_check_mem_on_local_socket(); > > rte_eal_mcfg_complete(); > -- > 1.9.3 > >