summaryrefslogtreecommitdiffstats
path: root/drivers/net/spider_net.c
diff options
context:
space:
mode:
authorJens Osterkamp <jens@de.ibm.com>2007-02-01 12:07:47 +0100
committerJeff Garzik <jeff@garzik.org>2007-02-02 08:34:10 -0500
commita55eb05a57a981f16325d035ee3a3ad10485ea0d (patch)
treed36a41e7d4ebe9be9e82499f0af5aa1dbb522de0 /drivers/net/spider_net.c
parenta53a33da864a81a238ee84055c8ced775ee25350 (diff)
downloadlinux-a55eb05a57a981f16325d035ee3a3ad10485ea0d.tar.bz2
spidernet : fix memory leak in spider_net_stop
We forget to call spider_net_free_rx_chain_contents which does the actual dev_kfree_skb. New skbs are allocated from skbuff_head_cache on each "ifconfig up" letting the cache grow infinitely. This patch fixes it. Signed-off-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/spider_net.c')
-rw-r--r--drivers/net/spider_net.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index ebb6aa39f9c7..8ea2fc1b96cb 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1925,6 +1925,8 @@ spider_net_stop(struct net_device *netdev)
/* release chains */
spider_net_release_tx_chain(card, 1);
+ spider_net_free_rx_chain_contents(card);
+
spider_net_free_chain(card, &card->tx_chain);
spider_net_free_chain(card, &card->rx_chain);