Greetings, I'm enabling the Suspend-to-RAM state in our new OMAP3 Board. But I had some problems because of USB Interrupt. Although I disabled USB interrupt by disable_irq() function while entering the Suspend, M_IRQ_92 irq continuously wake up the OMAP3430 Processor. So, I fixed this problem as following patch. My Questions are: 1. Could anyone suggest the better solution for this problem? 2. If there is no better solution, can I be applied this patch to omap-tree? Thank you! commit bbb49321b161e6a9ff2b73326d4012d8eb8bbf23 Author: Kim Kyuwon <chammoru@xxxxxxxxx> Date: Tue Jan 6 10:11:46 2009 +0900 ARM: OMAP3: Mask interrupts when disabling interrupts By Ingo Molnar, interrupts are not masked by default. (refer to 76d2160147f43f982dfe881404cfde9fd0a9da21) But if interrupts are not masked, the processor can wake up while in Suspend-to-RAM state by an external interrupt. For example, if an OMAP3 board is connected to Host PC by USB and entered to Suspend-to-RAM state, it wake up automatically by M_IRQ_92. The disable_irq() function can't disable the interrupt in H/W level, So I modified arch/arm/mach-omap2/irq.c Signed-off-by: Kim Kyuwon <chammoru@xxxxxxxxx> diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index 110acb9..b44dcae 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c @@ -123,6 +123,11 @@ static void omap_unmask_irq(unsigned int irq) intc_bank_write_reg(1 << irq, &irq_banks[0], INTC_MIR_CLEAR0 + offset); } +static void omap_disable_irq(unsigned int irq) +{ + omap_mask_irq(irq); +} + static void omap_mask_ack_irq(unsigned int irq) { omap_mask_irq(irq); @@ -134,6 +139,7 @@ static struct irq_chip omap_irq_chip = { .ack = omap_mask_ack_irq, .mask = omap_mask_irq, .unmask = omap_unmask_irq, + .disable = omap_disable_irq, }; static void __init omap_irq_bank_init_one(struct omap_irq_bank *bank) -- Kim Kyuwon -- 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