From mboxrd@z Thu Jan 1 00:00:00 1970 From: tglx@linutronix.de (Thomas Gleixner) Date: Fri, 4 May 2012 18:01:22 +0200 (CEST) Subject: [PATCH 2/3] IRQ: allow check_wakeup_irqs to notice level-triggered interrupts. In-Reply-To: <20120504151221.6998d4e5@notabene.brown> References: <20120425025637.7832.14013.stgit@notabene.brown> <20120425030524.7832.85239.stgit@notabene.brown> <20120425193916.0db1b4b1@notabene.brown> <20120504151221.6998d4e5@notabene.brown> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Neil, On Fri, 4 May 2012, NeilBrown wrote: > On Wed, 25 Apr 2012 14:54:54 +0200 (CEST) Thomas Gleixner > wrote: > > > Why not simply managing the pending bit for level irqs ? > > > > Hi Thomas, > thanks again for the patch. I finally made time to test it and it works as > expected. I've included it below with a change-log entry and tested-by: > in case that helps. thanks for testing. The changelog is great. You know how to make the live of lazy buggers easier :) > for_each_irq_desc(irq, desc) { > - if (irqd_is_wakeup_set(&desc->irq_data)) { > + if (desc->depth == 1 && > + irqd_is_wakeup_set(&desc->irq_data)) { > if (desc->istate & IRQS_PENDING) > return -EBUSY; > continue; I split that part into a separate patch, as it's really a different issue. Thanks, tglx