From: Shahaf Shuler <shahafs@mellanox.com>
To: bluca@debian.org
Cc: stable@dpdk.org, nelio.laranjeiro@6wind.com, yskoh@mellanox.com,
adrien.mazarguil@6wind.com
Subject: [dpdk-stable] [PATCH 14/33] net/mlx5: change non failing function return values
Date: Sun, 6 May 2018 09:05:43 +0300 [thread overview]
Message-ID: <b1bc9d50261b8c50be74d3f0048a657d87a0e8a4.1525586525.git.shahafs@mellanox.com> (raw)
In-Reply-To: <cover.1525586525.git.shahafs@mellanox.com>
From: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>
[ upstream commit 925061b58b487fba57f55847b1447417fed715fb ]
These functions return int although they are not supposed to fail,
resulting in unnecessary checks in their callers.
Some are returning error where is should be a boolean.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
drivers/net/mlx5/mlx5.h | 4 ++--
drivers/net/mlx5/mlx5_mr.c | 4 ++--
drivers/net/mlx5/mlx5_rxq.c | 25 ++++++++++---------------
drivers/net/mlx5/mlx5_socket.c | 6 +-----
drivers/net/mlx5/mlx5_trigger.c | 6 +-----
drivers/net/mlx5/mlx5_txq.c | 17 ++++++-----------
6 files changed, 22 insertions(+), 40 deletions(-)
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 2cb463b622..86310404a0 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -242,7 +242,7 @@ int mlx5_vlan_offload_set(struct rte_eth_dev *dev, int mask);
int mlx5_dev_start(struct rte_eth_dev *dev);
void mlx5_dev_stop(struct rte_eth_dev *dev);
int mlx5_traffic_enable(struct rte_eth_dev *dev);
-int mlx5_traffic_disable(struct rte_eth_dev *dev);
+void mlx5_traffic_disable(struct rte_eth_dev *dev);
int mlx5_traffic_restart(struct rte_eth_dev *dev);
/* mlx5_flow.c */
@@ -287,7 +287,7 @@ void mlx5_flow_delete_drop_queue(struct rte_eth_dev *dev);
/* mlx5_socket.c */
int mlx5_socket_init(struct rte_eth_dev *priv);
-int mlx5_socket_uninit(struct rte_eth_dev *priv);
+void mlx5_socket_uninit(struct rte_eth_dev *priv);
void mlx5_socket_handle(struct rte_eth_dev *priv);
int mlx5_socket_connect(struct rte_eth_dev *priv);
diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index fe60dd1329..5c4e687369 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -307,7 +307,7 @@ mlx5_mr_get(struct rte_eth_dev *dev, struct rte_mempool *mp)
* Pointer to memory region to release.
*
* @return
- * 0 on success, errno on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_mr_release(struct mlx5_mr *mr)
@@ -321,7 +321,7 @@ mlx5_mr_release(struct mlx5_mr *mr)
rte_free(mr);
return 0;
}
- return EBUSY;
+ return 1;
}
/**
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index a3b08a1a3b..8e7693df2f 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -840,7 +840,7 @@ mlx5_rxq_ibv_get(struct rte_eth_dev *dev, uint16_t idx)
* Verbs Rx queue object.
*
* @return
- * 0 on success, errno value on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_rxq_ibv_release(struct mlx5_rxq_ibv *rxq_ibv)
@@ -867,7 +867,7 @@ mlx5_rxq_ibv_release(struct mlx5_rxq_ibv *rxq_ibv)
rte_free(rxq_ibv);
return 0;
}
- return EBUSY;
+ return 1;
}
/**
@@ -1074,7 +1074,7 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
* TX queue index.
*
* @return
- * 0 on success, errno value on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
@@ -1086,13 +1086,8 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
return 0;
rxq_ctrl = container_of((*priv->rxqs)[idx], struct mlx5_rxq_ctrl, rxq);
assert(rxq_ctrl->priv);
- if (rxq_ctrl->ibv) {
- int ret;
-
- ret = mlx5_rxq_ibv_release(rxq_ctrl->ibv);
- if (!ret)
- rxq_ctrl->ibv = NULL;
- }
+ if (rxq_ctrl->ibv && !mlx5_rxq_ibv_release(rxq_ctrl->ibv))
+ rxq_ctrl->ibv = NULL;
DEBUG("%p: Rx queue %p: refcnt %d", (void *)dev,
(void *)rxq_ctrl, rte_atomic32_read(&rxq_ctrl->refcnt));
if (rte_atomic32_dec_and_test(&rxq_ctrl->refcnt)) {
@@ -1101,7 +1096,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
(*priv->rxqs)[idx] = NULL;
return 0;
}
- return EBUSY;
+ return 1;
}
/**
@@ -1261,7 +1256,7 @@ mlx5_ind_table_ibv_get(struct rte_eth_dev *dev, uint16_t queues[],
* Indirection table to release.
*
* @return
- * 0 on success, errno value on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_ind_table_ibv_release(struct rte_eth_dev *dev,
@@ -1281,7 +1276,7 @@ mlx5_ind_table_ibv_release(struct rte_eth_dev *dev,
rte_free(ind_tbl);
return 0;
}
- return EBUSY;
+ return 1;
}
/**
@@ -1439,7 +1434,7 @@ mlx5_hrxq_get(struct rte_eth_dev *dev, uint8_t *rss_key, uint8_t rss_key_len,
* Pointer to Hash Rx queue to release.
*
* @return
- * 0 on success, errno value on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_hrxq_release(struct rte_eth_dev *dev, struct mlx5_hrxq *hrxq)
@@ -1454,7 +1449,7 @@ mlx5_hrxq_release(struct rte_eth_dev *dev, struct mlx5_hrxq *hrxq)
return 0;
}
claim_nonzero(mlx5_ind_table_ibv_release(dev, hrxq->ind_table));
- return EBUSY;
+ return 1;
}
/**
diff --git a/drivers/net/mlx5/mlx5_socket.c b/drivers/net/mlx5/mlx5_socket.c
index b8f610df30..8db25cff17 100644
--- a/drivers/net/mlx5/mlx5_socket.c
+++ b/drivers/net/mlx5/mlx5_socket.c
@@ -82,11 +82,8 @@ mlx5_socket_init(struct rte_eth_dev *dev)
*
* @param[in] dev
* Pointer to Ethernet device.
- *
- * @return
- * 0 on success, errno value on failure.
*/
-int
+void
mlx5_socket_uninit(struct rte_eth_dev *dev)
{
struct priv *priv = dev->data->dev_private;
@@ -95,7 +92,6 @@ mlx5_socket_uninit(struct rte_eth_dev *dev)
claim_zero(close(priv->primary_socket));
priv->primary_socket = 0;
claim_zero(remove(path));
- return 0;
}
/**
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 07226b8641..a3ccebdd66 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -363,17 +363,13 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
*
* @param dev
* Pointer to Ethernet device private data.
- *
- * @return
- * 0 on success.
*/
-int
+void
mlx5_traffic_disable(struct rte_eth_dev *dev)
{
struct priv *priv = dev->data->dev_private;
mlx5_flow_list_flush(dev, &priv->ctrl_flows);
- return 0;
}
/**
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 54ed972d71..a5e2c7fa71 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -572,7 +572,7 @@ mlx5_txq_ibv_get(struct rte_eth_dev *dev, uint16_t idx)
* Verbs Tx queue object.
*
* @return
- * 0 on success, errno on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_txq_ibv_release(struct mlx5_txq_ibv *txq_ibv)
@@ -587,7 +587,7 @@ mlx5_txq_ibv_release(struct mlx5_txq_ibv *txq_ibv)
rte_free(txq_ibv);
return 0;
}
- return EBUSY;
+ return 1;
}
/**
@@ -824,7 +824,7 @@ mlx5_txq_get(struct rte_eth_dev *dev, uint16_t idx)
* TX queue index.
*
* @return
- * 0 on success, errno on failure.
+ * 1 while a reference on it exists, 0 when freed.
*/
int
mlx5_txq_release(struct rte_eth_dev *dev, uint16_t idx)
@@ -839,13 +839,8 @@ mlx5_txq_release(struct rte_eth_dev *dev, uint16_t idx)
txq = container_of((*priv->txqs)[idx], struct mlx5_txq_ctrl, txq);
DEBUG("%p: Tx queue %p: refcnt %d", (void *)dev,
(void *)txq, rte_atomic32_read(&txq->refcnt));
- if (txq->ibv) {
- int ret;
-
- ret = mlx5_txq_ibv_release(txq->ibv);
- if (!ret)
- txq->ibv = NULL;
- }
+ if (txq->ibv && !mlx5_txq_ibv_release(txq->ibv))
+ txq->ibv = NULL;
for (i = 0; i != MLX5_PMD_TX_MP_CACHE; ++i) {
if (txq->txq.mp2mr[i]) {
mlx5_mr_release(txq->txq.mp2mr[i]);
@@ -862,7 +857,7 @@ mlx5_txq_release(struct rte_eth_dev *dev, uint16_t idx)
(*priv->txqs)[idx] = NULL;
return 0;
}
- return EBUSY;
+ return 1;
}
/**
--
2.12.0
next prev parent reply other threads:[~2018-05-06 6:06 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-06 6:05 [dpdk-stable] [PATCH 00/33] mlx5 backports for 18.02.2 stable Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 01/33] net/mlx: control netdevices through ioctl only Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 02/33] net/mlx5: fix flow creation with a single target queue Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 03/33] net/mlx5: fix tunnel offloads cap query Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 04/33] net/mlx5: fix disabling Tx packet inlining Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 05/33] net/mlx: fix rdma-core glue path with EAL plugins Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 06/33] net/mlx5: fix sriov flag Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 07/33] net/mlx5: name parameters in function prototypes Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 08/33] net/mlx5: mark parameters with unused attribute Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 09/33] net/mlx5: normalize function prototypes Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 10/33] net/mlx5: add missing function documentation Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 11/33] net/mlx5: remove useless empty lines Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 12/33] net/mlx5: remove control path locks Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 13/33] net/mlx5: prefix all functions with mlx5 Shahaf Shuler
2018-05-06 6:05 ` Shahaf Shuler [this message]
2018-05-06 6:05 ` [dpdk-stable] [PATCH 15/33] net/mlx5: standardize on negative errno values Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 16/33] net/mlx5: fix existing file removal Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 17/33] net/mlx5: fix ARM build Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 18/33] net/mlx5: remove kernel version check Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 19/33] net/mlx5: fix link status behavior Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 20/33] net/mlx5: fix link status to use wait to complete Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 21/33] net/mlx5: fix TSO enablement Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 22/33] net/mlx5: fix icc build Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 23/33] net/mlx5: fix RSS key length query Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 24/33] net/mlx: fix warnings for unused compiler arguments Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 25/33] net/mlx5: fix link status initialization Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 26/33] net/mlx5: fix RSS flow action bounds check Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 27/33] net/mlx5: split L3/L4 in flow director Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 28/33] net/mlx5: fix flow director mask Shahaf Shuler
2018-05-06 6:05 ` [dpdk-stable] [PATCH 29/33] net/mlx5: fix flow director rule deletion crash Shahaf Shuler
2018-05-08 9:49 ` [dpdk-stable] [PATCH 00/33] mlx5 backports for 18.02.2 stable Luca Boccassi
2018-05-08 9:56 ` Luca Boccassi
2018-05-09 7:51 ` Shahaf Shuler
2018-05-09 10:27 ` Luca Boccassi
2018-05-09 11:18 ` Shahaf Shuler
2018-05-09 14:03 ` Luca Boccassi
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 00/20] " Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 01/20] net/mlx: control netdevices through ioctl only Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 02/20] net/mlx5: name parameters in function prototypes Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 03/20] net/mlx5: mark parameters with unused attribute Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 04/20] net/mlx5: normalize function prototypes Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 05/20] net/mlx5: add missing function documentation Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 06/20] net/mlx5: remove useless empty lines Shahaf Shuler
2018-05-09 15:03 ` [dpdk-stable] [PATCH v2 07/20] net/mlx5: remove control path locks Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 08/20] net/mlx5: prefix all functions with mlx5 Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 09/20] net/mlx5: change non failing function return values Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 10/20] net/mlx5: standardize on negative errno values Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 11/20] net/mlx5: remove kernel version check Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 12/20] net/mlx5: fix link status behavior Shahaf Shuler
2018-05-09 15:17 ` Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 13/20] net/mlx5: fix link status to use wait to complete Shahaf Shuler
2018-05-09 15:17 ` Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 14/20] net/mlx5: fix link status initialization Shahaf Shuler
2018-05-09 15:17 ` Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 15/20] net/mlx5: split L3/L4 in flow director Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 16/20] net/mlx5: fix flow director mask Shahaf Shuler
2018-05-09 15:17 ` Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 17/20] net/mlx5: fix ethtool link setting call order Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 18/20] net/mlx5: fix socket connection return value Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 19/20] net/mlx5: fix probe return value polarity Shahaf Shuler
2018-05-09 15:04 ` [dpdk-stable] [PATCH v2 20/20] net/mlx5: fix flow validation Shahaf Shuler
2018-05-09 15:17 ` Shahaf Shuler
2018-05-09 15:15 ` [dpdk-stable] [PATCH v2 00/20] mlx5 backports for 18.02.2 stable Shahaf Shuler
2018-05-09 16:04 ` Luca Boccassi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b1bc9d50261b8c50be74d3f0048a657d87a0e8a4.1525586525.git.shahafs@mellanox.com \
--to=shahafs@mellanox.com \
--cc=adrien.mazarguil@6wind.com \
--cc=bluca@debian.org \
--cc=nelio.laranjeiro@6wind.com \
--cc=stable@dpdk.org \
--cc=yskoh@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).