diff mbox

net : fix for dst_gc_task not getting scheduled if __dst_free() is called consistently

Message ID 1337420472-28159-1-git-send-email-rajan.gupta@freescale.com
State Rejected, archived
Delegated to: David Miller
Headers show

Commit Message

rajan.gupta@freescale.com May 19, 2012, 9:41 a.m. UTC
From: Rajan Gupta <rajan.gupta@freescale.com>

dst_gc_work is cancelled and again rescheduled in __ds_free(). In case
__dsf_free() is consistently called dst_gc_work will never get called resulting in
memory not getting freed at all until one stops calling __dst_free
Signed-off-by: Rajan Gupta <rajan.gupta@freescale.com>
---
 net/core/dst.c |    1 -
 1 file changed, 1 deletion(-)
diff mbox

Patch

diff --git a/net/core/dst.c b/net/core/dst.c
index 8246d47..6820206 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -215,7 +215,6 @@  void __dst_free(struct dst_entry *dst)
 	if (dst_garbage.timer_inc > DST_GC_INC) {
 		dst_garbage.timer_inc = DST_GC_INC;
 		dst_garbage.timer_expires = DST_GC_MIN;
-		cancel_delayed_work(&dst_gc_work);
 		schedule_delayed_work(&dst_gc_work, dst_garbage.timer_expires);
 	}
 	spin_unlock_bh(&dst_garbage.lock);