summaryrefslogtreecommitdiff
path: root/arch/um/os-Linux
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2020-12-14 00:18:18 +0300
committerRichard Weinberger <richard@nod.at>2020-12-14 00:42:06 +0300
commit11385539c024b6071dce538123a2043a8f52c9a1 (patch)
treef56c3d16a32fcf7566c4b6ed4c71f20857a968f2 /arch/um/os-Linux
parentcae20ba0a16cdb2c6d218ea3519bb0942f287b69 (diff)
downloadlinux-11385539c024b6071dce538123a2043a8f52c9a1.tar.xz
um: time-travel: Correct time event IRQ delivery
Lockdep (on 5.10-rc) points out that we're delivering IRQs while IRQs are not even enabled, which clearly shouldn't happen. Defer the time event IRQ delivery until they actually are enabled. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/os-Linux')
-rw-r--r--arch/um/os-Linux/signal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/um/os-Linux/signal.c b/arch/um/os-Linux/signal.c
index 510e956b4320..96f511d1aabe 100644
--- a/arch/um/os-Linux/signal.c
+++ b/arch/um/os-Linux/signal.c
@@ -271,6 +271,9 @@ void unblock_signals(void)
return;
signals_enabled = 1;
+#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
+ deliver_time_travel_irqs();
+#endif
/*
* We loop because the IRQ handler returns with interrupts off. So,