From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756284AbZBZCN5 (ORCPT ); Wed, 25 Feb 2009 21:13:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751662AbZBZCNs (ORCPT ); Wed, 25 Feb 2009 21:13:48 -0500 Received: from mail-gx0-f174.google.com ([209.85.217.174]:43314 "EHLO mail-gx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751529AbZBZCNs convert rfc822-to-8bit (ORCPT ); Wed, 25 Feb 2009 21:13:48 -0500 MIME-Version: 1.0 In-Reply-To: References: <200902221837.49396.rjw@sisk.pl> <200902250007.13069.rjw@sisk.pl> <20090224230935.GA15165@elte.hu> <200902250029.16107.rjw@sisk.pl> Date: Wed, 25 Feb 2009 18:13:45 -0800 Message-ID: Subject: Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume From: =?ISO-8859-1?Q?Arve_Hj=F8nnev=E5g?= To: Linus Torvalds Cc: "Rafael J. Wysocki" , Ingo Molnar , "Eric W. Biederman" , LKML , Benjamin Herrenschmidt , Jeremy Fitzhardinge , pm list , Len Brown , Jesse Barnes , Thomas Gleixner Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 25, 2009 at 5:27 PM, Linus Torvalds wrote: > > > On Wed, 25 Feb 2009, Arve Hjønnevåg wrote: >> >> Do you plan to fix edge triggered wakeup interrupts? It still looks >> like edge triggered wakeup interrupts that occur between >> suspend_device_irqs and local_irq_disable will not cause a wakeup. > > IF we ever see this as a real issue, we can either see it in the > IRQ_PENDING flag, or we can mark such interrupts specially. So it would be > solvable. That said, I haven't actually heard any real usage cases. Normal > wakeup events are _not_ interrupts in the regular "device interrupt > controller" sense. > > So can you actually point to an explicit example of something where this > is a real issue? On the msm platform the keyboard driver currently leave the interrupts enabled when suspended. If the interrupt handler is called, we use a wakelock to abort suspend (without wakelocks you would need to set a flag and abort in suspend_late instead). If the interrupt occurs after local_irq_disable, it will still be pending when we get to the suspend enter hook and suspend will be aborted there. As far as I can tell, this change breaks this. If you press a key at the right time, it will be ignored. -- Arve Hjønnevåg