net/mlx5: fix Rx queue memory allocation return value
authorXueming Li <xuemingl@nvidia.com>
Thu, 4 Nov 2021 12:33:11 +0000 (20:33 +0800)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 4 Nov 2021 21:55:44 +0000 (22:55 +0100)
If error happened during Rx queue mbuf allocation, boolean value
returned. From description, return value should be error number.

This patch returns negative error number.

Fixes: 0f20acbf5eda ("net/mlx5: implement vectorized MPRQ burst")
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_rxq.c

index 9220bb2..4567b43 100644 (file)
@@ -129,7 +129,7 @@ error:
  *   Pointer to RX queue structure.
  *
  * @return
- *   0 on success, errno value on failure.
+ *   0 on success, negative errno value on failure.
  */
 static int
 rxq_alloc_elts_sprq(struct mlx5_rxq_ctrl *rxq_ctrl)
@@ -220,7 +220,7 @@ error:
  *   Pointer to RX queue structure.
  *
  * @return
- *   0 on success, errno value on failure.
+ *   0 on success, negative errno value on failure.
  */
 int
 rxq_alloc_elts(struct mlx5_rxq_ctrl *rxq_ctrl)
@@ -233,7 +233,9 @@ rxq_alloc_elts(struct mlx5_rxq_ctrl *rxq_ctrl)
         */
        if (mlx5_rxq_mprq_enabled(&rxq_ctrl->rxq))
                ret = rxq_alloc_elts_mprq(rxq_ctrl);
-       return (ret || rxq_alloc_elts_sprq(rxq_ctrl));
+       if (ret == 0)
+               ret = rxq_alloc_elts_sprq(rxq_ctrl);
+       return ret;
 }
 
 /**