| From f7dd71ac2b30aa3d91210b26b08432dbc8252f8e Mon Sep 17 00:00:00 2001 |
| From: Tyler Baker <tyler.baker@linaro.org> |
| Date: Thu, 13 Apr 2017 15:27:31 -0700 |
| Subject: [PATCH] irqchip/irq-imx-gpcv2: Fix spinlock initialization |
| |
| commit 75eb5e1e7b4edbc8e8f930de59004d21cb46961f upstream. |
| |
| The raw_spinlock in the IMX GPCV2 interupt chip is not initialized before |
| usage. That results in a lockdep splat: |
| |
| INFO: trying to register non-static key. |
| the code is fine but needs lockdep annotation. |
| turning off the locking correctness validator. |
| |
| Add the missing raw_spin_lock_init() to the setup code. |
| |
| Fixes: e324c4dc4a59 ("irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources") |
| Signed-off-by: Tyler Baker <tyler.baker@linaro.org> |
| Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> |
| Cc: jason@lakedaemon.net |
| Cc: marc.zyngier@arm.com |
| Cc: shawnguo@kernel.org |
| Cc: andrew.smirnov@gmail.com |
| Cc: linux-arm-kernel@lists.infradead.org |
| Cc: stable@vger.kernel.org |
| Link: http://lkml.kernel.org/r/20170413222731.5917-1-tyler.baker@linaro.org |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv2.c |
| index 15af9a9753e5..2d203b422129 100644 |
| --- a/drivers/irqchip/irq-imx-gpcv2.c |
| +++ b/drivers/irqchip/irq-imx-gpcv2.c |
| @@ -230,6 +230,8 @@ static int __init imx_gpcv2_irqchip_init(struct device_node *node, |
| return -ENOMEM; |
| } |
| |
| + raw_spin_lock_init(&cd->rlock); |
| + |
| cd->gpc_base = of_iomap(node, 0); |
| if (!cd->gpc_base) { |
| pr_err("fsl-gpcv2: unable to map gpc registers\n"); |
| -- |
| 2.12.0 |
| |