Commit 71dd9ac5 authored by Florian Fainelli's avatar Florian Fainelli Committed by Greg Kroah-Hartman

net: bcmgenet: Be drop monitor friendly


[ Upstream commit d4fec855 ]

There are 3 spots where we call dev_kfree_skb() but we are actually
just doing a normal SKB consumption: __bcmgenet_tx_reclaim() for normal
TX reclamation, bcmgenet_alloc_rx_buffers() during the initial RX ring
setup and bcmgenet_free_rx_buffers() during RX ring cleanup.

Fixes: d6707bec ("net: bcmgenet: rewrite bcmgenet_rx_refill()")
Fixes: f48bed16 ("net: bcmgenet: Free skb after last Tx frag")
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7def678f
...@@ -1203,7 +1203,7 @@ static struct enet_cb *bcmgenet_get_txcb(struct bcmgenet_priv *priv, ...@@ -1203,7 +1203,7 @@ static struct enet_cb *bcmgenet_get_txcb(struct bcmgenet_priv *priv,
/* Simple helper to free a control block's resources */ /* Simple helper to free a control block's resources */
static void bcmgenet_free_cb(struct enet_cb *cb) static void bcmgenet_free_cb(struct enet_cb *cb)
{ {
dev_kfree_skb_any(cb->skb); dev_consume_skb_any(cb->skb);
cb->skb = NULL; cb->skb = NULL;
dma_unmap_addr_set(cb, dma_addr, 0); dma_unmap_addr_set(cb, dma_addr, 0);
} }
...@@ -1868,7 +1868,7 @@ static int bcmgenet_alloc_rx_buffers(struct bcmgenet_priv *priv, ...@@ -1868,7 +1868,7 @@ static int bcmgenet_alloc_rx_buffers(struct bcmgenet_priv *priv,
cb = ring->cbs + i; cb = ring->cbs + i;
skb = bcmgenet_rx_refill(priv, cb); skb = bcmgenet_rx_refill(priv, cb);
if (skb) if (skb)
dev_kfree_skb_any(skb); dev_consume_skb_any(skb);
if (!cb->skb) if (!cb->skb)
return -ENOMEM; return -ENOMEM;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment