diff --git a/debian/changelog b/debian/changelog index 005da3ff8..ab4e0b569 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1626,6 +1626,8 @@ linux (4.19.115-1) UNRELEASED; urgency=medium on RT" for context changes in 4.19.114 * [rt] Refresh "genirq: Do not invoke the affinity callback via a workqueue on RT" for context changes in 4.19.114 + * [rt] Refresh "genirq: Handle missing work_struct in + irq_set_affinity_notifier()" for context changes in 4.19.114 [ Ben Hutchings ] * [x86] Drop "Add a SysRq option to lift kernel lockdown" (Closes: #947021) diff --git a/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch b/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch index e8ca48ba0..559dc2a9d 100644 --- a/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch +++ b/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch @@ -21,22 +21,23 @@ Signed-off-by: Steven Rostedt (VMware) kernel/irq/manage.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index d5539e04e00a..290cd520dba1 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -411,8 +411,9 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify) +@@ -415,13 +415,14 @@ raw_spin_unlock_irqrestore(&desc->lock, flags); if (old_notify) { -#ifndef CONFIG_PREEMPT_RT_BASE - /* Need to address this for PREEMPT_RT */ +#ifdef CONFIG_PREEMPT_RT_BASE -+ kthread_cancel_work_sync(¬ify->work); ++ if (kthread_cancel_work_sync(¬ify->work)) { +#else - cancel_work_sync(&old_notify->work); - #endif + if (cancel_work_sync(&old_notify->work)) { ++#endif + /* Pending work had a ref, put that one too */ + kref_put(&old_notify->kref, old_notify->release); + } +-#endif kref_put(&old_notify->kref, old_notify->release); --- -2.25.1 - + } +