Pārlūkot izejas kodu

gianfar: Fix packet drop when out of memory

The patch which fixed gianfar so it drops packets when it runs out
of memory left in the code which frees the skb when it drops packets.
Change the code so that we only free the skb if the new skb was successfully
created.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Andy Fleming 16 gadi atpakaļ
vecāks
revīzija
8882d9a600
1 mainītis faili ar 1 papildinājumiem un 2 dzēšanām
  1. 1 2
      drivers/net/gianfar.c

+ 1 - 2
drivers/net/gianfar.c

@@ -1732,8 +1732,7 @@ int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit)
 
 
 			if (unlikely(!newskb))
 			if (unlikely(!newskb))
 				newskb = skb;
 				newskb = skb;
-
-			if (skb)
+			else if (skb)
 				dev_kfree_skb_any(skb);
 				dev_kfree_skb_any(skb);
 		} else {
 		} else {
 			/* Increment the number of packets */
 			/* Increment the number of packets */