summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2010-05-04 22:30:47 +0000
committerDavid S. Miller <davem@davemloft.net>2010-05-05 21:29:15 -0700
commit7df9c43fbe470628a755dfd028e58fdd7ab9b44e (patch)
treed89bbd1e1543d94fe39b3d04b9fd2c47491260bb
parent7cff0943a1104479fc9fc2d6ced24c02ba81e73e (diff)
downloadlinux-stable-7df9c43fbe470628a755dfd028e58fdd7ab9b44e.tar.gz
linux-stable-7df9c43fbe470628a755dfd028e58fdd7ab9b44e.tar.bz2
linux-stable-7df9c43fbe470628a755dfd028e58fdd7ab9b44e.zip
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>
-rw-r--r--drivers/net/gianfar.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 4e97ca182997..5d3763fb3472 100644
--- a/drivers/net/gianfar.c
+++ b/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,
priv->tx_queue[0]->tx_bd_base,
priv->tx_queue[0]->tx_bd_dma_base);
+ skb_queue_purge(&priv->rx_recycle);
}
void gfar_start(struct net_device *dev)
@@ -2088,7 +2089,6 @@ static int gfar_close(struct net_device *dev)
disable_napi(priv);
- skb_queue_purge(&priv->rx_recycle);
cancel_work_sync(&priv->reset_task);
stop_gfar(dev);