aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/oprofile/cpu_buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/oprofile/cpu_buffer.c')
-rw-r--r--drivers/oprofile/cpu_buffer.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c
index f179ac2ea801..59f55441e075 100644
--- a/drivers/oprofile/cpu_buffer.c
+++ b/drivers/oprofile/cpu_buffer.c
@@ -111,14 +111,18 @@ void start_cpu_work(void)
111 111
112void end_cpu_work(void) 112void end_cpu_work(void)
113{ 113{
114 int i;
115
116 work_enabled = 0; 114 work_enabled = 0;
115}
116
117void flush_cpu_work(void)
118{
119 int i;
117 120
118 for_each_online_cpu(i) { 121 for_each_online_cpu(i) {
119 struct oprofile_cpu_buffer *b = &per_cpu(op_cpu_buffer, i); 122 struct oprofile_cpu_buffer *b = &per_cpu(op_cpu_buffer, i);
120 123
121 cancel_delayed_work(&b->work); 124 /* these works are per-cpu, no need for flush_sync */
125 flush_delayed_work(&b->work);
122 } 126 }
123} 127}
124 128