[dpdk-dev] [PATCH] app/test-pmd: fix rte_pci_tailq not initialized before used

2015-03-11 Thread David Marchand
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

2015-03-11 Thread Yong Liu
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

2015-03-11 Thread David Marchand
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
>
>