net/ring: remove unnecessary NULL check
authorMauricio Vasquez B <mauricio.vasquez@polito.it>
Wed, 2 Nov 2016 13:46:09 +0000 (08:46 -0500)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 7 Nov 2016 13:50:47 +0000 (14:50 +0100)
Coverity detected this as an issue because internals->data will never be NULL,
then the check is not necessary.

Coverity issue: 137873
Fixes: d082c0395bf6 ("ring: fix memory leak when detaching")

Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/ring/rte_eth_ring.c

index 6d2a8c1..c1767c4 100644 (file)
@@ -599,24 +599,22 @@ rte_pmd_ring_remove(const char *name)
 
        eth_dev_stop(eth_dev);
 
-       if (eth_dev->data) {
-               internals = eth_dev->data->dev_private;
-               if (internals->action == DEV_CREATE) {
-                       /*
-                        * it is only necessary to delete the rings in rx_queues because
-                        * they are the same used in tx_queues
-                        */
-                       for (i = 0; i < eth_dev->data->nb_rx_queues; i++) {
-                               r = eth_dev->data->rx_queues[i];
-                               rte_ring_free(r->rng);
-                       }
+       internals = eth_dev->data->dev_private;
+       if (internals->action == DEV_CREATE) {
+               /*
+                * it is only necessary to delete the rings in rx_queues because
+                * they are the same used in tx_queues
+                */
+               for (i = 0; i < eth_dev->data->nb_rx_queues; i++) {
+                       r = eth_dev->data->rx_queues[i];
+                       rte_ring_free(r->rng);
                }
-
-               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->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);