Unverified Commit ed789a9f authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15391 backport mainline bugfix patch

Merge Pull Request from: @ci-robot 
 
PR sync from: Lin Yujun <linyujun809@huawei.com>
https://mailweb.openeuler.org/archives/list/kernel@openeuler.org/message/OS73WCZSJFF5I5VKHV67ANCMHVX3L2JJ/ 
Thomas Gleixner (1):
  genirq: Make handle_enforce_irqctx() unconditionally available

Yogesh Lal (1):
  irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly

 
https://gitee.com/openeuler/kernel/issues/IBFOBV 
 
Link:https://gitee.com/openeuler/kernel/pulls/15391

 

Reviewed-by: default avatarLi Nan <linan122@huawei.com>
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parents 5d94761f 30d092d0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1378,7 +1378,7 @@ static int gic_retrigger(struct irq_data *data)
static int gic_cpu_pm_notifier(struct notifier_block *self,
			       unsigned long cmd, void *v)
{
	if (cmd == CPU_PM_EXIT) {
	if (cmd == CPU_PM_EXIT || cmd == CPU_PM_ENTER_FAILED) {
		if (gic_dist_security_disabled())
			gic_enable_redist(true);
		gic_cpu_sys_reg_init();
+3 −6
Original line number Diff line number Diff line
@@ -429,10 +429,6 @@ static inline struct cpumask *irq_desc_get_pending_mask(struct irq_desc *desc)
{
	return desc->pending_mask;
}
static inline bool handle_enforce_irqctx(struct irq_data *data)
{
	return irqd_is_handle_enforce_irqctx(data);
}
bool irq_fixup_move_pending(struct irq_desc *desc, bool force_clear);
#else /* CONFIG_GENERIC_PENDING_IRQ */
static inline bool irq_can_move_pcntxt(struct irq_data *data)
@@ -459,11 +455,12 @@ static inline bool irq_fixup_move_pending(struct irq_desc *desc, bool fclear)
{
	return false;
}
#endif /* !CONFIG_GENERIC_PENDING_IRQ */

static inline bool handle_enforce_irqctx(struct irq_data *data)
{
	return false;
	return irqd_is_handle_enforce_irqctx(data);
}
#endif /* !CONFIG_GENERIC_PENDING_IRQ */

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