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.faine...@gmail.com>
---
 drivers/net/ethernet/broadcom/bcmsysport.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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;
        }
 
-- 
2.17.1

Reply via email to