Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7cde1c8b authored by Eilon Greenstein's avatar Eilon Greenstein Committed by David S. Miller
Browse files

bnx2x: Calling napi_del



rmmod might hang without this patch since the reference counter is not going
down

Signed-off-by: default avatarYitchak Gertner <gertner@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6eccabb3
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -6547,6 +6547,8 @@ load_error2:
	bnx2x_free_irq(bp);
	bnx2x_free_irq(bp);
load_error1:
load_error1:
	bnx2x_napi_disable(bp);
	bnx2x_napi_disable(bp);
	for_each_queue(bp, i)
		netif_napi_del(&bnx2x_fp(bp, i, napi));
	bnx2x_free_mem(bp);
	bnx2x_free_mem(bp);


	/* TBD we really need to reset the chip
	/* TBD we really need to reset the chip
@@ -6855,6 +6857,8 @@ unload_error:
	bnx2x_free_skbs(bp);
	bnx2x_free_skbs(bp);
	for_each_queue(bp, i)
	for_each_queue(bp, i)
		bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE);
		bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE);
	for_each_queue(bp, i)
		netif_napi_del(&bnx2x_fp(bp, i, napi));
	bnx2x_free_mem(bp);
	bnx2x_free_mem(bp);


	bp->state = BNX2X_STATE_CLOSED;
	bp->state = BNX2X_STATE_CLOSED;
@@ -10481,6 +10485,8 @@ static int bnx2x_eeh_nic_unload(struct bnx2x *bp)
	bnx2x_free_skbs(bp);
	bnx2x_free_skbs(bp);
	for_each_queue(bp, i)
	for_each_queue(bp, i)
		bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE);
		bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE);
	for_each_queue(bp, i)
		netif_napi_del(&bnx2x_fp(bp, i, napi));
	bnx2x_free_mem(bp);
	bnx2x_free_mem(bp);


	bp->state = BNX2X_STATE_CLOSED;
	bp->state = BNX2X_STATE_CLOSED;