From patchwork Fri Aug 1 16:30:48 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Pundir X-Patchwork-Id: 4663861 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 82AFCC0338 for ; Fri, 1 Aug 2014 16:32:20 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B6C7E2020E for ; Fri, 1 Aug 2014 16:32:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D1320201FE for ; Fri, 1 Aug 2014 16:32:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755199AbaHAQbq (ORCPT ); Fri, 1 Aug 2014 12:31:46 -0400 Received: from mail-pd0-f181.google.com ([209.85.192.181]:56812 "EHLO mail-pd0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755189AbaHAQbp (ORCPT ); Fri, 1 Aug 2014 12:31:45 -0400 Received: by mail-pd0-f181.google.com with SMTP id g10so5824980pdj.12 for ; Fri, 01 Aug 2014 09:31:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=pIQ0JLqfxQQmMUQWoPfzR08XAyMO5cI0/MJGsOwp3+M=; b=TA+b2KV53oV/8LfYBiXCHIkoDIQAHJzCwbUIa4ge5xNIq6AjWQcT8ehqNZHkvVuA5X X25A2pUWMGU++XJuUC/Vz7/7Gq8GXZkt6f1h9avWkhwKM9ynn3wS0qTfjsr9np75vfCy q45m7fDEHT51u3hsSlTM/GP2kEnGqTZ1dCQw7ueLdVD3BcCIm0JULEiFQ4T/fOTFYIQ3 Z/Z7YHjUKVGOof3Qdg92VNbowPlRQD7b20tweCaO9DwJ8hSizy/oYrMWGoAckpcJCJIh 5cZW6QApjk6PAvb8ILtOEJAFDPX6DFRw4qs7+v5Pl5upVE/OsdAJ4Dc73fbcWwenyX6K hs1g== X-Gm-Message-State: ALoCoQnkBi6PqOru6hKbPrRz7FiZzxZ4MQvgY7oOrw/RU7dOUGqCGKiC9B6Fm1k23Wc9WZzpk1WJ X-Received: by 10.70.128.164 with SMTP id np4mr4157375pdb.168.1406910704903; Fri, 01 Aug 2014 09:31:44 -0700 (PDT) Received: from localhost.localdomain ([106.51.243.250]) by mx.google.com with ESMTPSA id ee5sm9163129pbc.47.2014.08.01.09.31.40 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 01 Aug 2014 09:31:43 -0700 (PDT) From: Amit Pundir To: linux-kernel@vger.kernel.org Cc: Todd Poynor , Pavel Machek , Thomas Gleixner , "Rafael J. Wysocki" , Len Brown , linux-pm@vger.kernel.org, Android Kernel Team , John Stultz , Sumit Semwal , Amit Pundir Subject: [RFC][PATCH 1/2] PM: Print pending wakeup IRQ preventing suspend to dmesg Date: Fri, 1 Aug 2014 22:00:48 +0530 Message-Id: <1406910649-4028-2-git-send-email-amit.pundir@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1406910649-4028-1-git-send-email-amit.pundir@linaro.org> References: <1406910649-4028-1-git-send-email-amit.pundir@linaro.org> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Todd Poynor Currently when a pending wakeup irq stops suspend, it can be difficult to determine why suspend was prevented and which IRQ was actually responsible. In order to help debug these situations, this patch prints the IRQ number and action name of that pending wakeup irq which prevents suspend. This patch comes from the Android patch set, where its been used to debug suspend problems. Cc: Pavel Machek Cc: Thomas Gleixner Cc: Rafael J. Wysocki Cc: Len Brown Cc: linux-pm@vger.kernel.org Cc: Android Kernel Team Cc: John Stultz Cc: Sumit Semwal Signed-off-by: Todd Poynor [Amit Pundir: Reworded the commit message] Signed-off-by: Amit Pundir Acked-by: Pavel Machek --- kernel/irq/pm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c index abcd6ca..c2bc8d9 100644 --- a/kernel/irq/pm.c +++ b/kernel/irq/pm.c @@ -109,8 +109,13 @@ int check_wakeup_irqs(void) * can abort suspend. */ if (irqd_is_wakeup_set(&desc->irq_data)) { - if (desc->depth == 1 && desc->istate & IRQS_PENDING) + if (desc->depth == 1 && desc->istate & IRQS_PENDING) { + pr_info("Wakeup IRQ %d %s pending, suspend aborted\n", + irq, + desc->action && desc->action->name ? + desc->action->name : ""); return -EBUSY; + } continue; } /*