RE: Unbalanced IRQ wake disable during resume from static suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul,
> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Paul Walmsley
> Sent: Thursday, December 02, 2010 1:44 PM
> To: linux-omap@xxxxxxxxxxxxxxx; Govindraj
> Cc: khilman@xxxxxxxxxxxxxxxxxxx
> Subject: Re: Unbalanced IRQ wake disable during resume from static
suspend
>
> On Thu, 2 Dec 2010, Paul Walmsley wrote:
>
> > On current linux-omap master (commit
> > 7fd1cffc56ca9944fec583eb2ecda5ce88b36bff "Linux-omap rebuilt: Updated
to
> > -rc4"), when resuming from static suspend, several "Unbalanced IRQ
> > wake disable" warnings are generated, one for each of the serial
ports.
> > This is on Beagle 35xx rev C2.
>
> Just to follow up on this, these messages are not logged when
> /sys/devices/platform/omap/omap-hsuart.*/tty/ttyO*/power/wakeup are set
to
> 'disabled'.
>
> Also this is with omap2plus_defconfig.
>
Just a wild guess here but is this because the 'set_wake' is
not setup and then fw might be returning some error whenever
driver invoke this API as part of enable_irq_wake() callback

If that being the case, below patch might might help. Can
somebody try this out ?

Regards,
Santosh

omap: irq: Dummy handler for enable_irq_wake

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
---
 arch/arm/mach-omap2/irq.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 32eeabe..6a964d3 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -143,11 +143,21 @@ static void omap_mask_ack_irq(unsigned int irq)
 	omap_ack_irq(irq);
 }

+#ifdef CONFIG_PM
+static int omap_set_wake(unsigned int irq, unsigned int on)
+{
+	return 0;
+}
+#else
+#define omap_set_wake NULL
+#endif
+
 static struct irq_chip omap_irq_chip = {
 	.name	= "INTC",
 	.ack	= omap_mask_ack_irq,
 	.mask	= omap_mask_irq,
 	.unmask	= omap_unmask_irq,
+	.set_wake = omap_set_wake,
 };

 static void __init omap_irq_bank_init_one(struct omap_irq_bank *bank)
-- 
1.6.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux