};
+static void end_sync_timer(void)
+{
+ del_timer_sync(&sync_timer);
+ /* timer might have queued work, make sure it's completed. */
+ flush_scheduled_work();
+}
+
+
int sync_start(void)
{
int err;
out2:
profile_event_unregister(EXIT_TASK, &exit_task_nb);
out1:
- del_timer_sync(&sync_timer);
+ end_sync_timer();
goto out;
}
profile_event_unregister(EXIT_TASK, &exit_task_nb);
profile_event_unregister(EXIT_MMAP, &exit_mmap_nb);
profile_event_unregister(EXEC_UNMAP, &exec_unmap_nb);
- del_timer_sync(&sync_timer);
- /* timer might have queued work, make sure it's completed. */
- flush_scheduled_work();
+ end_sync_timer();
}