diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2010-05-04 18:30:47 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-06 00:29:15 -0400 |
commit | 7df9c43fbe470628a755dfd028e58fdd7ab9b44e (patch) | |
tree | d89bbd1e1543d94fe39b3d04b9fd2c47491260bb /drivers | |
parent | 7cff0943a1104479fc9fc2d6ced24c02ba81e73e (diff) |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/gianfar.c | 2 |
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) | |||
1649 | sizeof(struct rxbd8) * priv->total_rx_ring_size, | 1649 | sizeof(struct rxbd8) * priv->total_rx_ring_size, |
1650 | priv->tx_queue[0]->tx_bd_base, | 1650 | priv->tx_queue[0]->tx_bd_base, |
1651 | priv->tx_queue[0]->tx_bd_dma_base); | 1651 | priv->tx_queue[0]->tx_bd_dma_base); |
1652 | skb_queue_purge(&priv->rx_recycle); | ||
1652 | } | 1653 | } |
1653 | 1654 | ||
1654 | void gfar_start(struct net_device *dev) | 1655 | void gfar_start(struct net_device *dev) |
@@ -2088,7 +2089,6 @@ static int gfar_close(struct net_device *dev) | |||
2088 | 2089 | ||
2089 | disable_napi(priv); | 2090 | disable_napi(priv); |
2090 | 2091 | ||
2091 | skb_queue_purge(&priv->rx_recycle); | ||
2092 | cancel_work_sync(&priv->reset_task); | 2092 | cancel_work_sync(&priv->reset_task); |
2093 | stop_gfar(dev); | 2093 | stop_gfar(dev); |
2094 | 2094 | ||