tracing: Fix counter for traceon/off event triggers

The counters for the traceon and traceoff are only suppose to decrement
when the trigger enables or disables tracing. It is not suppose to decrement
every time the event is hit.

Only decrement the counter if the trigger actually did something.

Link: http://lkml.kernel.org/r/20140106223124.0e5fd0b4@gandalf.local.home

Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt (Red Hat) 2014-01-06 22:25:50 -05:00 committed by Steven Rostedt
parent 4bf0566db1
commit e8dc637152
1 changed files with 8 additions and 2 deletions

View File

@ -742,13 +742,16 @@ traceon_trigger(struct event_trigger_data *data)
static void
traceon_count_trigger(struct event_trigger_data *data)
{
if (tracing_is_on())
return;
if (!data->count)
return;
if (data->count != -1)
(data->count)--;
traceon_trigger(data);
tracing_on();
}
static void
@ -763,13 +766,16 @@ traceoff_trigger(struct event_trigger_data *data)
static void
traceoff_count_trigger(struct event_trigger_data *data)
{
if (!tracing_is_on())
return;
if (!data->count)
return;
if (data->count != -1)
(data->count)--;
traceoff_trigger(data);
tracing_off();
}
static int