X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fvdpa%2Fmlx5%2Fmlx5_vdpa.c;h=1113d6cef027f6e3885ee76f721f3cdbd886ce86;hb=b58d8781fa1fa573f9d5e9af81a4288fddf1e0a8;hp=70327dfda59f345af3b406c85ef03324728b6bfb;hpb=c2eb33aaf967f3fce96d8112a5f515b048a9ce07;p=dpdk.git diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c index 70327dfda5..1113d6cef0 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa.c @@ -121,13 +121,11 @@ mlx5_vdpa_set_vring_state(int vid, int vring, int state) DRV_LOG(ERR, "Invalid device id: %d.", did); return -EINVAL; } - if (!priv->configured || vring >= RTE_MIN((int)priv->nr_virtqs, - (int)priv->caps.max_num_virtio_queues * 2) || - !priv->virtqs[vring].virtq) { - DRV_LOG(ERR, "Invalid or unconfigured vring id: %d.", vring); - return -EINVAL; + if (vring >= (int)priv->caps.max_num_virtio_queues * 2) { + DRV_LOG(ERR, "Too big vring id: %d.", vring); + return -E2BIG; } - return mlx5_vdpa_virtq_enable(&priv->virtqs[vring], state); + return mlx5_vdpa_virtq_enable(priv, vring, state); } static int @@ -206,7 +204,7 @@ mlx5_vdpa_dev_close(int vid) if (priv->configured) ret |= mlx5_vdpa_lm_log(priv); mlx5_vdpa_cqe_event_unset(priv); - ret |= mlx5_vdpa_steer_unset(priv); + mlx5_vdpa_steer_unset(priv); mlx5_vdpa_virtqs_release(priv); mlx5_vdpa_event_qp_global_release(priv); mlx5_vdpa_mem_dereg(priv); @@ -307,7 +305,7 @@ mlx5_vdpa_get_ib_device_match(struct rte_pci_addr *addr) DRV_LOG(DEBUG, "Checking device \"%s\"..", ibv_list[n]->name); if (mlx5_dev_to_pci_addr(ibv_list[n]->ibdev_path, &pci_addr)) continue; - if (memcmp(addr, &pci_addr, sizeof(pci_addr))) + if (rte_pci_addr_cmp(addr, &pci_addr)) continue; ibv_match = ibv_list[n]; break;