net/softnic: remove trace of legacy linuxapp
[dpdk.git] / drivers / net / bnx2x / bnx2x.c
index 5f353a7..d523f4f 100644 (file)
@@ -2401,6 +2401,9 @@ static void bnx2x_free_mem(struct bnx2x_softc *sc)
        ecore_ilt_mem_op(sc, ILT_MEMOP_FREE);
 
        bnx2x_free_ilt_lines_mem(sc);
+
+       /* free the host hardware/software hsi structures */
+       bnx2x_free_hsi_mem(sc);
 }
 
 static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
@@ -2451,6 +2454,13 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
                return -1;
        }
 
+       /* allocate the host hardware/software hsi structures */
+       if (bnx2x_alloc_hsi_mem(sc) != 0) {
+               PMD_DRV_LOG(ERR, sc, "bnx2x_alloc_hsi_mem was failed");
+               bnx2x_free_mem(sc);
+               return -ENXIO;
+       }
+
        return 0;
 }
 
@@ -9008,36 +9018,42 @@ void bnx2x_free_hsi_mem(struct bnx2x_softc *sc)
 /*******************/
 
                memset(&fp->status_block, 0, sizeof(fp->status_block));
+               bnx2x_dma_free(&fp->sb_dma);
        }
 
        /***************************/
        /* FW DECOMPRESSION BUFFER */
        /***************************/
 
+       bnx2x_dma_free(&sc->gz_buf_dma);
        sc->gz_buf = NULL;
 
        /*******************/
        /* SLOW PATH QUEUE */
        /*******************/
 
+       bnx2x_dma_free(&sc->spq_dma);
        sc->spq = NULL;
 
        /*************/
        /* SLOW PATH */
        /*************/
 
+       bnx2x_dma_free(&sc->sp_dma);
        sc->sp = NULL;
 
        /***************/
        /* EVENT QUEUE */
        /***************/
 
+       bnx2x_dma_free(&sc->eq_dma);
        sc->eq = NULL;
 
        /************************/
        /* DEFAULT STATUS BLOCK */
        /************************/
 
+       bnx2x_dma_free(&sc->def_sb_dma);
        sc->def_sb = NULL;
 
 }