aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_events_trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_events_trigger.c')
-rw-r--r--kernel/trace/trace_events_trigger.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
index 4b5e8ed68d77..b38f617b6181 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -538,11 +538,12 @@ static int register_trigger(char *glob, struct event_trigger_ops *ops,
538 list_add_rcu(&data->list, &file->triggers); 538 list_add_rcu(&data->list, &file->triggers);
539 ret++; 539 ret++;
540 540
541 update_cond_flag(file);
541 if (trace_event_trigger_enable_disable(file, 1) < 0) { 542 if (trace_event_trigger_enable_disable(file, 1) < 0) {
542 list_del_rcu(&data->list); 543 list_del_rcu(&data->list);
544 update_cond_flag(file);
543 ret--; 545 ret--;
544 } 546 }
545 update_cond_flag(file);
546out: 547out:
547 return ret; 548 return ret;
548} 549}
@@ -570,8 +571,8 @@ static void unregister_trigger(char *glob, struct event_trigger_ops *ops,
570 if (data->cmd_ops->trigger_type == test->cmd_ops->trigger_type) { 571 if (data->cmd_ops->trigger_type == test->cmd_ops->trigger_type) {
571 unregistered = true; 572 unregistered = true;
572 list_del_rcu(&data->list); 573 list_del_rcu(&data->list);
573 update_cond_flag(file);
574 trace_event_trigger_enable_disable(file, 0); 574 trace_event_trigger_enable_disable(file, 0);
575 update_cond_flag(file);
575 break; 576 break;
576 } 577 }
577 } 578 }
@@ -1314,11 +1315,12 @@ static int event_enable_register_trigger(char *glob,
1314 list_add_rcu(&data->list, &file->triggers); 1315 list_add_rcu(&data->list, &file->triggers);
1315 ret++; 1316 ret++;
1316 1317
1318 update_cond_flag(file);
1317 if (trace_event_trigger_enable_disable(file, 1) < 0) { 1319 if (trace_event_trigger_enable_disable(file, 1) < 0) {
1318 list_del_rcu(&data->list); 1320 list_del_rcu(&data->list);
1321 update_cond_flag(file);
1319 ret--; 1322 ret--;
1320 } 1323 }
1321 update_cond_flag(file);
1322out: 1324out:
1323 return ret; 1325 return ret;
1324} 1326}
@@ -1339,8 +1341,8 @@ static void event_enable_unregister_trigger(char *glob,
1339 (enable_data->file == test_enable_data->file)) { 1341 (enable_data->file == test_enable_data->file)) {
1340 unregistered = true; 1342 unregistered = true;
1341 list_del_rcu(&data->list); 1343 list_del_rcu(&data->list);
1342 update_cond_flag(file);
1343 trace_event_trigger_enable_disable(file, 0); 1344 trace_event_trigger_enable_disable(file, 0);
1345 update_cond_flag(file);
1344 break; 1346 break;
1345 } 1347 }
1346 } 1348 }