On 05/11/2018 03:18 AM, Stephen Hemminger wrote:
On Thu, 10 May 2018 10:49:20 +0800
Andy Green <a...@warmcat.com> wrote:

/projects/lagopus/src/dpdk/build/include/rte_ethdev.h:3860:10:
warning: conversion to 'int' from 'uint32_t' {aka 'unsigned int'}
may change the sign of the result [-Wsign-conversion]
   return (*dev->dev_ops->rx_queue_count)(dev, queue_id);

Signed-off-by: Andy Green <a...@warmcat.com>
---
  lib/librte_ethdev/rte_ethdev.h |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 2487e1d2d..c84dc44b8 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -3857,7 +3857,7 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t 
queue_id)
        if (queue_id >= dev->data->nb_rx_queues)
                return -EINVAL;
- return (*dev->dev_ops->rx_queue_count)(dev, queue_id);
+       return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
  }
/**


Why not change rx_queue_count to int to allow drivers to return an error?

OK. I have done it and will push it later. I left the few related apis in ./lib/ like rte_vhost_rx_queue_count() alone, they still return a uint32_t.

Naturally, I want to call that patch something like "eth_dev_ops: change rx_queue_count to return an int"...

-Andy

Reply via email to