Преглед изворни кода

net/gianfar: drop recycled skbs on MTU change

The size for skbs which is added to the recycled list is using the
current descriptor size which is current MTU. gfar_new_skb() is also
using this size. So after changing or alteast increasing the MTU all
recycled skbs should be dropped.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sebastian Andrzej Siewior пре 15 година
родитељ
комит
7df9c43fbe
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      drivers/net/gianfar.c

+ 1 - 1
drivers/net/gianfar.c

@@ -1649,6 +1649,7 @@ static void free_skb_resources(struct gfar_private *priv)
 			sizeof(struct rxbd8) * priv->total_rx_ring_size,
 			sizeof(struct rxbd8) * priv->total_rx_ring_size,
 			priv->tx_queue[0]->tx_bd_base,
 			priv->tx_queue[0]->tx_bd_base,
 			priv->tx_queue[0]->tx_bd_dma_base);
 			priv->tx_queue[0]->tx_bd_dma_base);
+	skb_queue_purge(&priv->rx_recycle);
 }
 }
 
 
 void gfar_start(struct net_device *dev)
 void gfar_start(struct net_device *dev)
@@ -2088,7 +2089,6 @@ static int gfar_close(struct net_device *dev)
 
 
 	disable_napi(priv);
 	disable_napi(priv);
 
 
-	skb_queue_purge(&priv->rx_recycle);
 	cancel_work_sync(&priv->reset_task);
 	cancel_work_sync(&priv->reset_task);
 	stop_gfar(dev);
 	stop_gfar(dev);