From 70dbdc324fde20e5c12534e39666091a5835547f Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Tue, 20 Jul 2010 04:52:09 +0000 Subject: [PATCH] --- yaml --- r: 203655 b: refs/heads/master c: 4b706372f18de53970e4c6887a96459590fef80a h: refs/heads/master i: 203653: 4a8f08ced8bb8471ed6ed684a7d232a4f7bf48a3 203651: bc706a55f739b9db52191e669e4c49b1645fc1e8 203647: de843dbee36a4dabd2bffe2551273dd55c2caec4 v: v3 --- [refs] | 2 +- trunk/net/core/drop_monitor.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 85b5ce626ab5..e1b109c89393 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d79d991379af35d43f003f162e8650e72965b8ca +refs/heads/master: 4b706372f18de53970e4c6887a96459590fef80a diff --git a/trunk/net/core/drop_monitor.c b/trunk/net/core/drop_monitor.c index ad41529fb60f..646ef3bc7200 100644 --- a/trunk/net/core/drop_monitor.c +++ b/trunk/net/core/drop_monitor.c @@ -223,6 +223,11 @@ static int set_all_monitor_traces(int state) spin_lock(&trace_state_lock); + if (state == trace_state) { + rc = -EAGAIN; + goto out_unlock; + } + switch (state) { case TRACE_ON: rc |= register_trace_kfree_skb(trace_kfree_skb_hit, NULL); @@ -251,11 +256,12 @@ static int set_all_monitor_traces(int state) if (!rc) trace_state = state; + else + rc = -EINPROGRESS; +out_unlock: spin_unlock(&trace_state_lock); - if (rc) - return -EINPROGRESS; return rc; }