X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmlx5%2Fmlx5_ethdev.c;h=1e6fe192a693527a239ac7b59f28e2641013ee3b;hb=9c2bbd048856f50297b3c2d751dd2ada7952b7f0;hp=9ae9dddd3ce8c5ed73a8bb69623acb99efbd0c22;hpb=ae4eb7dc79005c0a1944eebb5b6c7884768474e0;p=dpdk.git diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 9ae9dddd3c..1e6fe192a6 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -127,21 +127,18 @@ struct ethtool_link_settings { * @return * 0 on success, a negative errno value otherwise and rte_errno is set. */ -static int -mlx5_get_master_ifname(const struct rte_eth_dev *dev, - char (*ifname)[IF_NAMESIZE]) +int +mlx5_get_master_ifname(const char *ibdev_path, char (*ifname)[IF_NAMESIZE]) { - struct mlx5_priv *priv = dev->data->dev_private; DIR *dir; struct dirent *dent; unsigned int dev_type = 0; unsigned int dev_port_prev = ~0u; char match[IF_NAMESIZE] = ""; - assert(priv); - assert(priv->sh); + assert(ibdev_path); { - MKSTR(path, "%s/device/net", priv->sh->ibdev_path); + MKSTR(path, "%s/device/net", ibdev_path); dir = opendir(path); if (dir == NULL) { @@ -161,7 +158,7 @@ mlx5_get_master_ifname(const struct rte_eth_dev *dev, continue; MKSTR(path, "%s/device/net/%s/%s", - priv->sh->ibdev_path, name, + ibdev_path, name, (dev_type ? "dev_id" : "dev_port")); file = fopen(path, "rb"); @@ -222,15 +219,18 @@ int mlx5_get_ifname(const struct rte_eth_dev *dev, char (*ifname)[IF_NAMESIZE]) { struct mlx5_priv *priv = dev->data->dev_private; - unsigned int ifindex = - priv->nl_socket_rdma >= 0 ? - mlx5_nl_ifindex(priv->nl_socket_rdma, - priv->sh->ibdev_name, - priv->ibv_port) : 0; + unsigned int ifindex; + assert(priv); + assert(priv->sh); + ifindex = priv->nl_socket_rdma >= 0 ? + mlx5_nl_ifindex(priv->nl_socket_rdma, + priv->sh->ibdev_name, + priv->ibv_port) : 0; if (!ifindex) { if (!priv->representor) - return mlx5_get_master_ifname(dev, ifname); + return mlx5_get_master_ifname(priv->sh->ibdev_path, + ifname); rte_errno = ENXIO; return -rte_errno; }