Skip to content

Commit 8d187a7

Browse files
committed
genirq: Make handle_enforce_irqctx() unconditionally available
Commit 1b57d91 ("irqchip/gic-v2, v3: Prevent SW resends entirely") sett the flag which enforces interrupt handling in interrupt context and prevents software base resends for ARM GIC v2/v3. But it missed that the helper function which checks the flag was hidden behind CONFIG_GENERIC_PENDING_IRQ, which is not set by ARM[64]. Make the helper unconditionally available so that the enforcement actually works. Fixes: 1b57d91 ("irqchip/gic-v2, v3: Prevent SW resends entirely") Signed-off-by: Thomas Gleixner <[email protected]> Link: https://lore.kernel.org/all/[email protected]
1 parent 2af2573 commit 8d187a7

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

kernel/irq/internals.h

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -441,10 +441,6 @@ static inline struct cpumask *irq_desc_get_pending_mask(struct irq_desc *desc)
441441
{
442442
return desc->pending_mask;
443443
}
444-
static inline bool handle_enforce_irqctx(struct irq_data *data)
445-
{
446-
return irqd_is_handle_enforce_irqctx(data);
447-
}
448444
bool irq_fixup_move_pending(struct irq_desc *desc, bool force_clear);
449445
#else /* CONFIG_GENERIC_PENDING_IRQ */
450446
static inline bool irq_can_move_pcntxt(struct irq_data *data)
@@ -471,11 +467,12 @@ static inline bool irq_fixup_move_pending(struct irq_desc *desc, bool fclear)
471467
{
472468
return false;
473469
}
470+
#endif /* !CONFIG_GENERIC_PENDING_IRQ */
471+
474472
static inline bool handle_enforce_irqctx(struct irq_data *data)
475473
{
476-
return false;
474+
return irqd_is_handle_enforce_irqctx(data);
477475
}
478-
#endif /* !CONFIG_GENERIC_PENDING_IRQ */
479476

480477
#if !defined(CONFIG_IRQ_DOMAIN) || !defined(CONFIG_IRQ_DOMAIN_HIERARCHY)
481478
static inline int irq_domain_activate_irq(struct irq_data *data, bool reserve)

0 commit comments

Comments
 (0)