Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 336f6c32 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

debugobjects: add and use INIT_WORK_ON_STACK



Impact: Fix debugobjects warning

debugobject enabled kernels spit out a warning in hpet code due to a
workqueue which is initialized on stack.

Add INIT_WORK_ON_STACK() which calls init_timer_on_stack() and use it
in hpet.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent f3b8436a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -628,11 +628,12 @@ static int hpet_cpuhp_notify(struct notifier_block *n,

	switch (action & 0xf) {
	case CPU_ONLINE:
		INIT_DELAYED_WORK(&work.work, hpet_work);
		INIT_DELAYED_WORK_ON_STACK(&work.work, hpet_work);
		init_completion(&work.complete);
		/* FIXME: add schedule_work_on() */
		schedule_delayed_work_on(cpu, &work.work, 0);
		wait_for_completion(&work.complete);
		destroy_timer_on_stack(&work.work.timer);
		break;
	case CPU_DEAD:
		if (hdev) {
+6 −0
Original line number Diff line number Diff line
@@ -124,6 +124,12 @@ struct execute_work {
		init_timer_deferrable(&(_work)->timer);		\
	} while (0)

#define INIT_DELAYED_WORK_ON_STACK(_work, _func)		\
	do {							\
		INIT_WORK(&(_work)->work, (_func));		\
		init_timer_on_stack(&(_work)->timer);		\
	} while (0)

/**
 * work_pending - Find out whether a work item is currently pending
 * @work: The work item in question