From patchwork Tue Apr 2 13:33:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Andrzej Siewior X-Patchwork-Id: 233002 X-Patchwork-Delegate: galak@kernel.crashing.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id DCD5B2C0219 for ; Wed, 3 Apr 2013 01:08:14 +1100 (EST) X-Greylist: delayed 2015 seconds by postgrey-1.34 at bilbo; Wed, 03 Apr 2013 01:07:30 EST Received: from custos.ou.linutronix.de (custos.ou.linutronix.de [212.62.202.73]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 3424D2C00F7 for ; Wed, 3 Apr 2013 01:07:30 +1100 (EST) Received: from sandbox.lab.linutronix.de ([10.100.31.94]) by custos.ou.linutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1UN190-0005xJ-CC; Tue, 02 Apr 2013 15:20:58 +0200 From: Sebastian Andrzej Siewior To: Kumar Gala Subject: [PATCH] powerpc/fsl-msi: use a different locklcass for the cascade interrupt Date: Tue, 2 Apr 2013 15:33:36 +0200 Message-Id: <1364909616-59478-1-git-send-email-bigeasy@linutronix.de> X-Mailer: git-send-email 1.7.6.5 Cc: tglx@linutronix.de, linuxppc-dev@lists.ozlabs.org, Sebastian Andrzej Siewior X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" lockdep thinks that it might deadlock because it grabs a lock of the same class while calling the generic_irq_handler(). This annotation will inform lockdep that it will not. Signed-off-by: Sebastian Andrzej Siewior --- arch/powerpc/sysdev/fsl_msi.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 178c994..ab02db3 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c @@ -333,6 +333,8 @@ static int fsl_of_msi_remove(struct platform_device *ofdev) return 0; } +static struct lock_class_key fsl_msi_irq_class; + static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev, int offset, int irq_index) { @@ -351,7 +353,7 @@ static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev, dev_err(&dev->dev, "No memory for MSI cascade data\n"); return -ENOMEM; } - + irq_set_lockdep_class(virt_msir, &fsl_msi_irq_class); msi->msi_virqs[irq_index] = virt_msir; cascade_data->index = offset; cascade_data->msi_data = msi;