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 | |
| 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>
| -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 | ||
