ring: fix memory leak when detaching
authorMauricio Vasquez B <mauricio.vasquezbernal@studenti.polito.it>
Fri, 20 Nov 2015 18:24:19 +0000 (19:24 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 23 Nov 2015 22:51:14 +0000 (23:51 +0100)
When freeing the device it is also neccesary to free
rx_queues and tx_queues

Signed-off-by: Mauricio Vasquez B <mauricio.vasquezbernal@studenti.polito.it>
drivers/net/ring/rte_eth_ring.c

index 9a31bce..d92b088 100644 (file)
@@ -582,7 +582,12 @@ rte_pmd_ring_devuninit(const char *name)
                return -ENODEV;
 
        eth_dev_stop(eth_dev);
-       rte_free(eth_dev->data->dev_private);
+
+       if (eth_dev->data) {
+               rte_free(eth_dev->data->rx_queues);
+               rte_free(eth_dev->data->tx_queues);
+               rte_free(eth_dev->data->dev_private);
+       }
        rte_free(eth_dev->data);
 
        rte_eth_dev_release_port(eth_dev);