git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ethdev: check more errors in xstats retrieval
[dpdk.git]
/
lib
/
librte_ether
/
rte_ethdev.c
diff --git
a/lib/librte_ether/rte_ethdev.c
b/lib/librte_ether/rte_ethdev.c
index
8bcd3a2
..
17ebb94
100644
(file)
--- a/
lib/librte_ether/rte_ethdev.c
+++ b/
lib/librte_ether/rte_ethdev.c
@@
-1661,11
+1661,16
@@
rte_eth_xstats_get_names_by_id(uint16_t port_id,
unsigned int expected_entries;
struct rte_eth_dev *dev;
unsigned int i;
unsigned int expected_entries;
struct rte_eth_dev *dev;
unsigned int i;
+ int ret;
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
- expected_entries = get_xstats_count(port_id);
dev = &rte_eth_devices[port_id];
dev = &rte_eth_devices[port_id];
+ ret = get_xstats_count(port_id);
+ if (ret < 0)
+ return ret;
+ expected_entries = (unsigned int)ret;
+
/* Return max number of stats if no ids given */
if (!ids) {
if (!xstats_names)
/* Return max number of stats if no ids given */
if (!ids) {
if (!xstats_names)
@@
-1809,6
+1814,7
@@
rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,
uint16_t expected_entries;
struct rte_eth_dev *dev;
unsigned int i;
uint16_t expected_entries;
struct rte_eth_dev *dev;
unsigned int i;
+ int ret;
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
expected_entries = get_xstats_count(port_id);
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
expected_entries = get_xstats_count(port_id);
@@
-1849,8
+1855,10
@@
rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,
}
/* Fill the xstats structure */
}
/* Fill the xstats structure */
- num_xstats_filled = rte_eth_xstats_get(port_id, xstats,
- expected_entries);
+ ret = rte_eth_xstats_get(port_id, xstats, expected_entries);
+ if (ret < 0)
+ return ret;
+ num_xstats_filled = (unsigned int)ret;
/* Return all stats */
if (!ids) {
/* Return all stats */
if (!ids) {