diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2018-09-28 01:36:13 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-10-02 09:11:52 +0300 |
commit | aa6ca0ec71d8028ec712058efa3d93a54e2bb13e (patch) | |
tree | 8cd8c5648536033f0cedd4cd8be5767042a92238 /drivers/net/ethernet | |
parent | b5061778f8228f81c1af855b403aaf528d32ce5b (diff) | |
download | linux-aa6ca0ec71d8028ec712058efa3d93a54e2bb13e.tar.xz |
net: systemport: Be drop monitor friendly while re-allocating headroom
During bcm_sysport_insert_tsb() make sure we differentiate a SKB
headroom re-allocation failure from the normal swap and replace path.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/broadcom/bcmsysport.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index 977d9dec2fb0..6c40cf6090ab 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c @@ -1230,12 +1230,13 @@ static struct sk_buff *bcm_sysport_insert_tsb(struct sk_buff *skb, /* Re-allocate SKB if needed */ if (unlikely(skb_headroom(skb) < sizeof(*tsb))) { nskb = skb_realloc_headroom(skb, sizeof(*tsb)); - dev_kfree_skb(skb); if (!nskb) { + dev_kfree_skb_any(skb); dev->stats.tx_errors++; dev->stats.tx_dropped++; return NULL; } + dev_consume_skb_any(skb); skb = nskb; } |