summaryrefslogtreecommitdiff
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2026-09-07 13:44:24 +0200
committerThomas Zimmermann <tzimmermann@suse.de>2026-09-07 13:44:24 +0200
commit3ab04dcce43cd4fdaed94f08f4e6289be4921ea4 (patch)
tree61229f2644f48301f9d09722e390295cb55a2cf4 /kernel/softirq.c
parenta9f09b5ea0c3db1e2d4c0f8d3ebdd612d8aa0366 (diff)
parentdf2908090cda368b01ff43709f51890076c56157 (diff)
Merge drm/drm-next into drm-misc-next
Backmerging to get drm-misc-next up to v7.3-rc2. Requested for commit 3a2c4d55e32a ("treewide: refresh kmalloc_obj() conversions"). Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Diffstat (limited to 'kernel/softirq.c')
-rw-r--r--kernel/softirq.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 7980a4a232f9..5d02c36c40e3 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -91,11 +91,11 @@ EXPORT_PER_CPU_SYMBOL_GPL(hardirq_context);
DEFINE_PER_CPU(unsigned long, local_interrupt_disable_state);
-void _local_interrupt_disable(void)
+void _local_interrupt_save_state(unsigned long flags)
{
- __local_interrupt_disable();
+ __local_interrupt_save_state(flags);
}
-EXPORT_SYMBOL(_local_interrupt_disable);
+EXPORT_SYMBOL(_local_interrupt_save_state);
void _local_interrupt_enable(void)
{
@@ -749,16 +749,7 @@ static inline void __irq_exit_rcu(void)
#endif
account_hardirq_exit(current);
preempt_count_sub(HARDIRQ_OFFSET);
- /*
- * Interrupts may happen between hardirq_disable_enter() and
- * local_irq_save() in local_interrupt_disable(), if irq_exit() invokes
- * softirq here, we may have a softirq handler calling
- * local_interrupt_disable() but it won't disable the IRQ because
- * hardirq disabling count is already 1, hence we need to prevent
- * invoking softirq when a local_interrupt_disable() is ongoing.
- */
- if (!in_interrupt() && !hardirq_disable_count() &&
- local_softirq_pending()) {
+ if (!in_interrupt() && local_softirq_pending()) {
/*
* If we left hrtimers unarmed, make sure to arm them now,
* before enabling interrupts to run softirq.