net/mlx4: fix crash on info query in secondary process
[dpdk.git] / drivers / net / mlx4 / mlx4.c
index d6e5753..931e4f4 100644 (file)
@@ -763,6 +763,7 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
        };
        unsigned int vf;
        int i;
+       char ifname[IF_NAMESIZE];
 
        (void)pci_drv;
        err = mlx4_init_once();
@@ -1002,17 +1003,15 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
                     mac.addr_bytes[4], mac.addr_bytes[5]);
                /* Register MAC address. */
                priv->mac[0] = mac;
-#ifndef NDEBUG
-               {
-                       char ifname[IF_NAMESIZE];
-
-                       if (mlx4_get_ifname(priv, &ifname) == 0)
-                               DEBUG("port %u ifname is \"%s\"",
-                                     priv->port, ifname);
-                       else
-                               DEBUG("port %u ifname is unknown", priv->port);
+
+               if (mlx4_get_ifname(priv, &ifname) == 0) {
+                       DEBUG("port %u ifname is \"%s\"",
+                             priv->port, ifname);
+                       priv->if_index = if_nametoindex(ifname);
+               } else {
+                       DEBUG("port %u ifname is unknown", priv->port);
                }
-#endif
+
                /* Get actual MTU if possible. */
                mlx4_mtu_get(priv, &priv->mtu);
                DEBUG("port %u MTU is %u", priv->port, priv->mtu);