nfp: reuse ring free code on close
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 6 Jun 2017 00:01:44 +0000 (17:01 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Jun 2017 16:51:38 +0000 (12:51 -0400)
On the close path reuse the ring free helpers introduced for runtime
reconfiguration.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index bec51f4a9299ed480ab3a77b58294de58cfdda63..23419883cfd4b97904510e6a79b0a6bc28db9801 100644 (file)
@@ -2303,20 +2303,12 @@ static void nfp_net_close_free_all(struct nfp_net *nn)
 {
        unsigned int r;
 
-       for (r = 0; r < nn->dp.num_rx_rings; r++) {
-               nfp_net_rx_ring_bufs_free(&nn->dp, &nn->dp.rx_rings[r]);
-               nfp_net_rx_ring_free(&nn->dp.rx_rings[r]);
-       }
-       for (r = 0; r < nn->dp.num_tx_rings; r++) {
-               nfp_net_tx_ring_bufs_free(&nn->dp, &nn->dp.tx_rings[r]);
-               nfp_net_tx_ring_free(&nn->dp.tx_rings[r]);
-       }
+       nfp_net_tx_rings_free(&nn->dp);
+       nfp_net_rx_rings_free(&nn->dp);
+
        for (r = 0; r < nn->dp.num_r_vecs; r++)
                nfp_net_cleanup_vector(nn, &nn->r_vecs[r]);
 
-       kfree(nn->dp.rx_rings);
-       kfree(nn->dp.tx_rings);
-
        nfp_net_aux_irq_free(nn, NFP_NET_CFG_LSC, NFP_NET_IRQ_LSC_IDX);
        nfp_net_aux_irq_free(nn, NFP_NET_CFG_EXN, NFP_NET_IRQ_EXN_IDX);
 }