From patchwork Sat May 19 09:44:14 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: net : fix for dst_gc_task not getting scheduled if __dst_free() is called consistently Date: Fri, 18 May 2012 23:44:14 -0000 From: b15745@freescale.com X-Patchwork-Id: 160179 Message-Id: <1337420654-28200-1-git-send-email-b15745@freescale.com> To: Cc: Rajan Gupta From: Rajan Gupta 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 --- net/core/dst.c | 1 - 1 file changed, 1 deletion(-) 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);