X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fring%2Frte_eth_ring.c;h=d6115abdd50884030b056e76c5af924aa79afacb;hb=ac61aa646322dc100689e03dbffdc9c5536cc23d;hp=48b658e6611b51fa30cf5d2fa24874c598ae4f3b;hpb=b8f5d2ae75c97698190d46f4810d01f407016aad;p=dpdk.git diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 48b658e661..d6115abdd5 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -106,11 +106,12 @@ eth_dev_start(struct rte_eth_dev *dev) return 0; } -static void +static int eth_dev_stop(struct rte_eth_dev *dev) { dev->data->dev_started = 0; dev->data->dev_link.link_status = ETH_LINK_DOWN; + return 0; } static int @@ -236,11 +237,12 @@ eth_dev_close(struct rte_eth_dev *dev) struct pmd_internals *internals = NULL; struct ring_queue *r = NULL; uint16_t i; + int ret; if (rte_eal_process_type() != RTE_PROC_PRIMARY) return 0; - eth_dev_stop(dev); + ret = eth_dev_stop(dev); internals = dev->data->dev_private; if (internals->action == DEV_CREATE) { @@ -257,7 +259,7 @@ eth_dev_close(struct rte_eth_dev *dev) /* mac_addrs must not be freed alone because part of dev_private */ dev->data->mac_addrs = NULL; - return 0; + return ret; } static const struct eth_dev_ops ops = { @@ -359,6 +361,7 @@ do_eth_dev_ring_create(const char *name, data->mac_addrs = &internals->address; data->promiscuous = 1; data->all_multicast = 1; + data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS; eth_dev->dev_ops = &ops; data->numa_node = numa_node;