From: Tyler Baker <tyler.baker@linaro.org> To: linux-kernel@vger.kernel.org, marc.zyngier@arm.com, jason@lakedaemon.net, tglx@linutronix.de Cc: festevam@gmail.com, andrew.smirnov@gmail.com, linux-arm-kernel@lists.infradead.org, shawnguo@kernel.org Subject: [PATCH] irqchip/irq-imx-gpcv2: fix spinlock initialization Date: Thu, 13 Apr 2017 15:27:31 -0700 [thread overview] Message-ID: <20170413222731.5917-1-tyler.baker@linaro.org> (raw) Call raw_spin_lock_init() before the spinlocks are used to prevent a lockdep splat. Fixes the following trace: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Hardware name: Freescale i.MX7 Dual (Device Tree) Backtrace: [<c010c364>] (dump_backtrace) from [<c010c610>] (show_stack+0x18/0x1c) r7:00000000 r6:600000d3 r5:00000000 r4:c0e273dc [<c010c5f8>] (show_stack) from [<c04070a4>] (dump_stack+0xb4/0xe8) [<c0406ff0>] (dump_stack) from [<c0169e04>] (register_lock_class+0x208/0x5ec) r9:ef00d010 r8:ef00d010 r7:c1606448 r6:00000000 r5:00000000 r4:ffffe000 [<c0169bfc>] (register_lock_class) from [<c016da48>] (__lock_acquire+0x7c/0x18d0) r10:c0e0af40 r9:ef00d010 r8:c0e274cc r7:00000001 r6:600000d3 r5:c1606448 r4:ffffe000 [<c016d9cc>] (__lock_acquire) from [<c016fa4c>] (lock_acquire+0x70/0x90) r10:00000000 r9:ef007e38 r8:00000001 r7:00000001 r6:600000d3 r5:00000000 r4:ffffe000 [<c016f9dc>] (lock_acquire) from [<c09accc8>] (_raw_spin_lock+0x30/0x40) r8:600000d3 r7:ef007e10 r6:00000001 r5:ef007e10 r4:ef00d000 [<c09acc98>] (_raw_spin_lock) from [<c04403a4>] (imx_gpcv2_irq_unmask+0x1c/0x5c) r4:ef00d000 [<c0440388>] (imx_gpcv2_irq_unmask) from [<c017e838>] (irq_enable+0x38/0x4c) r5:00000000 r4:ef007e00 [<c017e800>] (irq_enable) from [<c017e8d0>] (irq_startup+0x84/0x88) r5:00000000 r4:ef007e00 [<c017e84c>] (irq_startup) from [<c017cd7c>] (__setup_irq+0x538/0x5f4) r7:ef007e60 r6:00000015 r5:ef007e00 r4:ef007d00 [<c017c844>] (__setup_irq) from [<c017ce98>] (setup_irq+0x60/0xd0) r10:c0d5fa48 r9:efffcbc0 r8:ef007d00 r7:00000015 r6:ef007e10 r5:00000000 r4:ef007e00 [<c017ce38>] (setup_irq) from [<c0d4dfdc>] (_mxc_timer_init+0x1f8/0x248) r9:efffcbc0 r8:00000003 r7:016e3600 r6:c0c69bbc r5:ef007c40 r4:ef007c00 [<c0d4dde4>] (_mxc_timer_init) from [<c0d4e0dc>] (mxc_timer_init_dt+0xb0/0xf8) r7:00000000 r6:c1669e48 r5:ef7ebf7c r4:ef007c00 [<c0d4e02c>] (mxc_timer_init_dt) from [<c0d4e168>] (imx6dl_timer_init_dt+0x14/0x18) r9:efffcbc0 r8:c0e7b000 r7:c0c695c0 r6:c0d6fe18 r5:00000001 r4:ef7ebf7c [<c0d4e154>] (imx6dl_timer_init_dt) from [<c0d4d158>] (clocksource_probe+0x54/0xb0) [<c0d4d104>] (clocksource_probe) from [<c0d04a2c>] (time_init+0x30/0x38) r7:c0e07900 r6:c0e7b000 r5:ffffffff r4:00000000 [<c0d049fc>] (time_init) from [<c0d00bc8>] (start_kernel+0x220/0x3a0) [<c0d009a8>] (start_kernel) from [<8000807c>] (0x8000807c) r10:00000000 r9:410fc075 r8:8000406a r7:c0e0c958 r6:c0d5fa44 r5:c0e07918 r4:c0e7b294 Verified the fix on a imx7d-cl-som with CONFIG_IMX_GPCV2 set. Signed-off-by: Tyler Baker <tyler.baker@linaro.org> Reported-by: Tyler Baker <tyler.baker@linaro.org> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> --- Issue reported in this thread: https://lkml.org/lkml/2017/4/13/646 drivers/irqchip/irq-imx-gpcv2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv2.c index e13236f..9463f35 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.9.3
WARNING: multiple messages have this Message-ID (diff)
From: tyler.baker@linaro.org (Tyler Baker) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] irqchip/irq-imx-gpcv2: fix spinlock initialization Date: Thu, 13 Apr 2017 15:27:31 -0700 [thread overview] Message-ID: <20170413222731.5917-1-tyler.baker@linaro.org> (raw) Call raw_spin_lock_init() before the spinlocks are used to prevent a lockdep splat. Fixes the following trace: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Hardware name: Freescale i.MX7 Dual (Device Tree) Backtrace: [<c010c364>] (dump_backtrace) from [<c010c610>] (show_stack+0x18/0x1c) r7:00000000 r6:600000d3 r5:00000000 r4:c0e273dc [<c010c5f8>] (show_stack) from [<c04070a4>] (dump_stack+0xb4/0xe8) [<c0406ff0>] (dump_stack) from [<c0169e04>] (register_lock_class+0x208/0x5ec) r9:ef00d010 r8:ef00d010 r7:c1606448 r6:00000000 r5:00000000 r4:ffffe000 [<c0169bfc>] (register_lock_class) from [<c016da48>] (__lock_acquire+0x7c/0x18d0) r10:c0e0af40 r9:ef00d010 r8:c0e274cc r7:00000001 r6:600000d3 r5:c1606448 r4:ffffe000 [<c016d9cc>] (__lock_acquire) from [<c016fa4c>] (lock_acquire+0x70/0x90) r10:00000000 r9:ef007e38 r8:00000001 r7:00000001 r6:600000d3 r5:00000000 r4:ffffe000 [<c016f9dc>] (lock_acquire) from [<c09accc8>] (_raw_spin_lock+0x30/0x40) r8:600000d3 r7:ef007e10 r6:00000001 r5:ef007e10 r4:ef00d000 [<c09acc98>] (_raw_spin_lock) from [<c04403a4>] (imx_gpcv2_irq_unmask+0x1c/0x5c) r4:ef00d000 [<c0440388>] (imx_gpcv2_irq_unmask) from [<c017e838>] (irq_enable+0x38/0x4c) r5:00000000 r4:ef007e00 [<c017e800>] (irq_enable) from [<c017e8d0>] (irq_startup+0x84/0x88) r5:00000000 r4:ef007e00 [<c017e84c>] (irq_startup) from [<c017cd7c>] (__setup_irq+0x538/0x5f4) r7:ef007e60 r6:00000015 r5:ef007e00 r4:ef007d00 [<c017c844>] (__setup_irq) from [<c017ce98>] (setup_irq+0x60/0xd0) r10:c0d5fa48 r9:efffcbc0 r8:ef007d00 r7:00000015 r6:ef007e10 r5:00000000 r4:ef007e00 [<c017ce38>] (setup_irq) from [<c0d4dfdc>] (_mxc_timer_init+0x1f8/0x248) r9:efffcbc0 r8:00000003 r7:016e3600 r6:c0c69bbc r5:ef007c40 r4:ef007c00 [<c0d4dde4>] (_mxc_timer_init) from [<c0d4e0dc>] (mxc_timer_init_dt+0xb0/0xf8) r7:00000000 r6:c1669e48 r5:ef7ebf7c r4:ef007c00 [<c0d4e02c>] (mxc_timer_init_dt) from [<c0d4e168>] (imx6dl_timer_init_dt+0x14/0x18) r9:efffcbc0 r8:c0e7b000 r7:c0c695c0 r6:c0d6fe18 r5:00000001 r4:ef7ebf7c [<c0d4e154>] (imx6dl_timer_init_dt) from [<c0d4d158>] (clocksource_probe+0x54/0xb0) [<c0d4d104>] (clocksource_probe) from [<c0d04a2c>] (time_init+0x30/0x38) r7:c0e07900 r6:c0e7b000 r5:ffffffff r4:00000000 [<c0d049fc>] (time_init) from [<c0d00bc8>] (start_kernel+0x220/0x3a0) [<c0d009a8>] (start_kernel) from [<8000807c>] (0x8000807c) r10:00000000 r9:410fc075 r8:8000406a r7:c0e0c958 r6:c0d5fa44 r5:c0e07918 r4:c0e7b294 Verified the fix on a imx7d-cl-som with CONFIG_IMX_GPCV2 set. Signed-off-by: Tyler Baker <tyler.baker@linaro.org> Reported-by: Tyler Baker <tyler.baker@linaro.org> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> --- Issue reported in this thread: https://lkml.org/lkml/2017/4/13/646 drivers/irqchip/irq-imx-gpcv2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv2.c index e13236f..9463f35 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.9.3
next reply other threads:[~2017-04-13 22:29 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-13 22:27 Tyler Baker [this message] 2017-04-13 22:27 ` [PATCH] irqchip/irq-imx-gpcv2: fix spinlock initialization Tyler Baker 2017-04-14 8:57 ` [tip:irq/urgent] irqchip/irq-imx-gpcv2: Fix " tip-bot for Tyler Baker 2017-04-15 13:40 ` [PATCH] irqchip/irq-imx-gpcv2: fix " Marc Zyngier 2017-04-15 13:40 ` Marc Zyngier 2017-04-15 13:54 ` Thomas Gleixner 2017-04-15 13:54 ` Thomas Gleixner 2017-04-15 14:10 ` Marc Zyngier 2017-04-15 14:10 ` Marc Zyngier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170413222731.5917-1-tyler.baker@linaro.org \ --to=tyler.baker@linaro.org \ --cc=andrew.smirnov@gmail.com \ --cc=festevam@gmail.com \ --cc=jason@lakedaemon.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=shawnguo@kernel.org \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.