[v2] net/vmxnet3: fix return code in initializing
Checks
Commit Message
Improve error handling
Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")
Cc: stable@dpdk.org
Signed-off-by: Kaijun Zeng <corezeng@gmail.com>
---
drivers/net/vmxnet3/vmxnet3_rxtx.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
Comments
On 6/2/2023 5:44 PM, Kaijun Zeng wrote:
> Improve error handling
>
> Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kaijun Zeng <corezeng@gmail.com>
> ---
> drivers/net/vmxnet3/vmxnet3_rxtx.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> index 73ec1e4727..e615d40d09 100644
> --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> @@ -1311,7 +1311,17 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev)
> for (j = 0; j < VMXNET3_RX_CMDRING_SIZE; j++) {
> /* Passing 0 as alloc_num will allocate full ring */
> ret = vmxnet3_post_rx_bufs(rxq, j);
> - if (ret <= 0) {
> +
> + /* Zero number of descriptors in the configuration of the RX queue */
> + if (ret == 0) {
> + PMD_INIT_LOG(ERR,
> + "ERROR: Zero descriptor requirement in Rx queue: %d,"
> + "buffers ring: %d\n",
> + i, j);
> + return -EINVAL;
> + }
> + /* Return the errno */
> + if (ret < 0) {
> PMD_INIT_LOG(ERR,
> "ERROR: Posting Rxq: %d buffers ring: %d",
> i, j);
Looks good to me, @Jochen any objection?
On Fri, 2 Jun 2023 12:44:38 -0400
Kaijun Zeng <corezeng@gmail.com> wrote:
> + PMD_INIT_LOG(ERR,
> + "ERROR: Zero descriptor requirement in Rx queue: %d,"
> + "buffers ring: %d\n",
> + i, j);
Please don't split messages across source lines, it makes harder for developers
to use tools to scan source for message.
Often, when message is long, it means that there is redundant information or poor wording.
For example, in your message "ERROR:" is redundant.
On 6/6/2023 4:36 PM, Stephen Hemminger wrote:
> On Fri, 2 Jun 2023 12:44:38 -0400
> Kaijun Zeng <corezeng@gmail.com> wrote:
>
>> + PMD_INIT_LOG(ERR,
>> + "ERROR: Zero descriptor requirement in Rx queue: %d,"
>> + "buffers ring: %d\n",
>> + i, j);
>
> Please don't split messages across source lines, it makes harder for developers
> to use tools to scan source for message.
>
> Often, when message is long, it means that there is redundant information or poor wording.
> For example, in your message "ERROR:" is redundant.
>
Agree that 'ERROR:' is redundant, and +1 to not split log message.
Kaijun,
Would you mind sending a new version with above changes?
Thanks,
ferruh
@@ -1311,7 +1311,17 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev)
for (j = 0; j < VMXNET3_RX_CMDRING_SIZE; j++) {
/* Passing 0 as alloc_num will allocate full ring */
ret = vmxnet3_post_rx_bufs(rxq, j);
- if (ret <= 0) {
+
+ /* Zero number of descriptors in the configuration of the RX queue */
+ if (ret == 0) {
+ PMD_INIT_LOG(ERR,
+ "ERROR: Zero descriptor requirement in Rx queue: %d,"
+ "buffers ring: %d\n",
+ i, j);
+ return -EINVAL;
+ }
+ /* Return the errno */
+ if (ret < 0) {
PMD_INIT_LOG(ERR,
"ERROR: Posting Rxq: %d buffers ring: %d",
i, j);