[Bug] ARM: mxs: STI: console can't wake up from freeze
Stefan Wahren
stefan.wahren at i2se.com
Sun Nov 6 02:20:56 PST 2016
Hi,
> Russell King - ARM Linux <linux at armlinux.org.uk> hat am 5. November 2016 um
> 19:05 geschrieben:
>
>
> On Sat, Nov 05, 2016 at 04:28:37PM +0100, Stefan Wahren wrote:
> > As i wrote in my email before, i added a pr_info() into freeze_wake.
> > But i never see the output of this message. So i assume freeze_wake
> > is never called. Again, how could this happen?
>
> Hmm, so the bit that you're getting stuck on is:
>
> wait_event(suspend_freeze_wait_head,
> suspend_freeze_state == FREEZE_STATE_WAKE);
>
thanks for all the feedback. The real cause for this issue is in the irqchip
driver. I fixed it with this patch:
diff --git a/drivers/irqchip/irq-mxs.c b/drivers/irqchip/irq-mxs.c
index 1730470..05fa9f7 100644
--- a/drivers/irqchip/irq-mxs.c
+++ b/drivers/irqchip/irq-mxs.c
@@ -131,12 +131,16 @@ static void asm9260_unmask_irq(struct irq_data *d)
.irq_ack = icoll_ack_irq,
.irq_mask = icoll_mask_irq,
.irq_unmask = icoll_unmask_irq,
+ .flags = IRQCHIP_MASK_ON_SUSPEND |
+ IRQCHIP_SKIP_SET_WAKE,
};
static struct irq_chip asm9260_icoll_chip = {
.irq_ack = icoll_ack_irq,
.irq_mask = asm9260_mask_irq,
.irq_unmask = asm9260_unmask_irq,
+ .flags = IRQCHIP_MASK_ON_SUSPEND |
+ IRQCHIP_SKIP_SET_WAKE,
};
asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)
More information about the linux-arm-kernel
mailing list