fix following compile error: kernel/irq/manage.c:388:20: error: passing argument 1 of 'cancel_work_sync' from incompatible pointer type
The compile error was got with CONFIG_PREEMPT_RT_BASE enabled, On RT kernel work_struct was replaced by kthread_work, so here we should use kthread_cancel_work_sync() instead of cancel_work_sync() to fix it. Signed-off-by: Liwei Song <liwei.s...@windriver.com> --- kernel/irq/manage.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index f72bd3a357da..143f87bbff48 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -385,7 +385,11 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) raw_spin_unlock_irqrestore(&desc->lock, flags); if (old_notify) { +#ifdef CONFIG_PREEMPT_RT_BASE + kthread_cancel_work_sync(&old_notify->work); +#else cancel_work_sync(&old_notify->work); +#endif kref_put(&old_notify->kref, old_notify->release); } -- 2.18.1 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto