{
struct rte_eth_dev_info dev_info;
uint16_t queue;
+ int ret;
if (port_id_is_invalid(portid, ENABLED_WARN))
return;
- rte_eth_dev_info_get(portid, &dev_info);
+
+ ret = eth_dev_info_get_print_err(portid, &dev_info);
+ if (ret != 0)
+ return;
+
for (queue = 0; queue < dev_info.nb_tx_queues; queue++)
if (!ports[portid].tx_set_md_cb[queue])
ports[portid].tx_set_md_cb[queue] =
{
struct rte_eth_dev_info dev_info;
uint16_t queue;
+ int ret;
if (port_id_is_invalid(portid, ENABLED_WARN))
return;
- rte_eth_dev_info_get(portid, &dev_info);
+
+ ret = eth_dev_info_get_print_err(portid, &dev_info);
+ if (ret != 0)
+ return;
+
for (queue = 0; queue < dev_info.nb_tx_queues; queue++)
if (ports[portid].tx_set_md_cb[queue]) {
rte_eth_remove_tx_callback(portid, queue,
ports[portid].tx_set_md_cb[queue] = NULL;
}
}
+
+int
+eth_dev_info_get_print_err(uint16_t port_id,
+ struct rte_eth_dev_info *dev_info)
+{
+ int ret;
+
+ ret = rte_eth_dev_info_get(port_id, dev_info);
+ if (ret != 0)
+ printf("Error during getting device (port %u) info: %s\n",
+ port_id, strerror(-ret));
+
+ return ret;
+}