[rtc-linux] Re: [PATCH] rtc: ab8500: move device_init_wakeup() call
From: Ulf Hansson <hidden>
Date: 2016-06-03 09:40:21
Also in:
stable
On 3 June 2016 at 11:04, Sudeep Holla [off-list ref] wrote:
On 02/06/16 14:53, Linus Walleij wrote:quoted
commit 93a6f9168f2f ("rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag") introduced the dev_pm_set_wake_irq() call to register a wake IRQ for the AB8500 driver. However this causes a regression since device_init_wakeup() must be called *after* dev_pm_set_wake_irq() not *before* it. Before this patch we get an error message like this during system resume from sleep:
I think it's actually the opposite. device_init_wakeup() must be called *before* dev_pm_set_wake_irq(), as otherwise dev_pm_set_wake_irq() will fail. Indeed this probably "solves" the problem for you, although only by hiding it, as there is no error check of the return code from dev_pm_set_wake_irq().
quoted
I am unable to understand this. Because it's the exact same sequence in rtc-pl031.c which works fine for me on ARM64 Juno platform. So I am struggle to understand the linkage of the backtrace to this calling sequence as I can't see any dependency. Let me know if you have already figured out where exactly does it go wrong. Prior to commit 93a6f9168f2f, set_irq_wake was never tested and hence one possible reason I can think of is set_irq_wake_real may be failing on suspend but the error value is ignored.
Yes, something else is wrong here! Kind regards Uffe -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.