ethdev: fix Rx/Tx return in debug mode
authorCunming Liang <cunming.liang@intel.com>
Wed, 12 Nov 2014 06:24:36 +0000 (14:24 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 12 Nov 2014 23:48:16 +0000 (00:48 +0100)
Per definition, rte_eth_rx_burst/rte_eth_tx_burst/rte_eth_rx_queue_count
returns the packet number.
When RTE_LIBRTE_ETHDEV_DEBUG turns on, retval of FUNC_PTR_OR_ERR_RTE was
set to -ENOTSUP. It makes confusing.
The patch always return 0 no matter no packet or there's error.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/librte_ether/rte_ethdev.c

index 5e9d576..8c65d72 100644 (file)
@@ -2586,7 +2586,7 @@ rte_eth_rx_burst(uint8_t port_id, uint16_t queue_id,
                return 0;
        }
        dev = &rte_eth_devices[port_id];
-       FUNC_PTR_OR_ERR_RET(*dev->rx_pkt_burst, -ENOTSUP);
+       FUNC_PTR_OR_ERR_RET(*dev->rx_pkt_burst, 0);
        if (queue_id >= dev->data->nb_rx_queues) {
                PMD_DEBUG_TRACE("Invalid RX queue_id=%d\n", queue_id);
                return 0;
@@ -2607,7 +2607,7 @@ rte_eth_tx_burst(uint8_t port_id, uint16_t queue_id,
        }
        dev = &rte_eth_devices[port_id];
 
-       FUNC_PTR_OR_ERR_RET(*dev->tx_pkt_burst, -ENOTSUP);
+       FUNC_PTR_OR_ERR_RET(*dev->tx_pkt_burst, 0);
        if (queue_id >= dev->data->nb_tx_queues) {
                PMD_DEBUG_TRACE("Invalid TX queue_id=%d\n", queue_id);
                return 0;
@@ -2626,7 +2626,7 @@ rte_eth_rx_queue_count(uint8_t port_id, uint16_t queue_id)
                return 0;
        }
        dev = &rte_eth_devices[port_id];
-       FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
+       FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, 0);
        return (*dev->dev_ops->rx_queue_count)(dev, queue_id);
 }