summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch b/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch
index 01c62e677..bcdfda2d5 100644
--- a/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch
+++ b/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch
@@ -1,9 +1,9 @@
-From a7d720657001cb31fc09699861f12726418a4bf8 Mon Sep 17 00:00:00 2001
+From af116ecf443ae48632323179dbb878c0aa24f656 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 2 Nov 2020 14:14:24 +0100
Subject: [PATCH 067/323] timers: Don't block on ->expiry_lock for
TIMER_IRQSAFE
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.215-rt107.tar.xz
PREEMPT_RT does not spin and wait until a running timer completes its
callback but instead it blocks on a sleeping lock to prevent a deadlock.
@@ -29,10 +29,10 @@ Cc: stable-rt@vger.kernel.org
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
-index e87e638c31bd..a4fdc7cfb723 100644
+index c135cefa44ac0..68246a8c31bc2 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
-@@ -1287,7 +1287,7 @@ static void del_timer_wait_running(struct timer_list *timer)
+@@ -1316,7 +1316,7 @@ static void del_timer_wait_running(struct timer_list *timer)
u32 tf;
tf = READ_ONCE(timer->flags);
@@ -41,7 +41,7 @@ index e87e638c31bd..a4fdc7cfb723 100644
struct timer_base *base = get_timer_base(tf);
/*
-@@ -1371,6 +1371,13 @@ int del_timer_sync(struct timer_list *timer)
+@@ -1402,6 +1402,13 @@ int timer_delete_sync(struct timer_list *timer)
*/
WARN_ON(in_irq() && !(timer->flags & TIMER_IRQSAFE));
@@ -56,5 +56,5 @@ index e87e638c31bd..a4fdc7cfb723 100644
ret = try_to_del_timer_sync(timer);
--
-2.43.0
+2.44.0