summaryrefslogtreecommitdiff
path: root/drivers/rpmsg
diff options
context:
space:
mode:
authorRobin Gong <yibin.gong@nxp.com>2018-05-15 01:15:20 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:31:45 +0800
commitadf42a741ba8f6954dca4e2d1620ceea1d193d30 (patch)
tree317435a3280b84b1eddb7385af66c35b2687dec8 /drivers/rpmsg
parent596e32c3d2f15c7550166ad80924670d8432bac1 (diff)
MLK-18308-1: rpmsg: imx_rpmsg: initialize spinlock before using
Initialize spinlock before using, otherwise the below oops triggered if CONFIG_DEBUG_SPINLOCK enabled. BUG: spinlock bad magic on CPU#0, kthreadd/2 lock: imx_rpmsg_vprocs+0x1240/0x24a0, .magic: 00000000, .owner: <none>/-1, .ow0 CPU: 0 PID: 2 Comm: kthreadd Not tainted 4.9.88-04946-gf984c92 #324 Hardware name: Freescale i.MX7ULP (Device Tree) [<8010ea64>] (unwind_backtrace) from [<8010b184>] (show_stack+0x10/0x14) [<8010b184>] (show_stack) from [<803c3a8c>] (dump_stack+0x78/0x8c) [<803c3a8c>] (dump_stack) from [<8016a744>] (do_raw_spin_lock+0xc4/0x120) [<8016a744>] (do_raw_spin_lock) from [<809f7448>] (_raw_spin_lock_irqsave+0x20/) [<809f7448>] (_raw_spin_lock_irqsave) from [<807bcdc8>] (imx_mu_rpmsg_isr+0x38/) [<807bcdc8>] (imx_mu_rpmsg_isr) from [<801722d8>] (__handle_irq_event_percpu+0x) [<801722d8>] (__handle_irq_event_percpu) from [<8017237c>] (handle_irq_event_pe) [<8017237c>] (handle_irq_event_percpu) from [<801723f0>] (handle_irq_event+0x38) [<801723f0>] (handle_irq_event) from [<801757f4>] (handle_fasteoi_irq+0xd0/0x1a) [<801757f4>] (handle_fasteoi_irq) from [<80171594>] (generic_handle_irq+0x24/0x) [<80171594>] (generic_handle_irq) from [<80171abc>] (__handle_domain_irq+0x7c/0) [<80171abc>] (__handle_domain_irq) from [<801014e8>] (gic_handle_irq+0x48/0x8c) [<801014e8>] (gic_handle_irq) from [<8010bb8c>] (__irq_svc+0x6c/0xa8) Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Diffstat (limited to 'drivers/rpmsg')
-rw-r--r--drivers/rpmsg/imx_rpmsg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/rpmsg/imx_rpmsg.c b/drivers/rpmsg/imx_rpmsg.c
index c52632deeb4d..4223b7ca4c12 100644
--- a/drivers/rpmsg/imx_rpmsg.c
+++ b/drivers/rpmsg/imx_rpmsg.c
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2015 Freescale Semiconductor, Inc.
- * Copyright 2017 NXP
+ * Copyright 2017-2018 NXP
*
* derived from the omap-rpmsg implementation.
*
@@ -460,6 +460,8 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
rpdev->mu_base = of_iomap(np_mu, 0);
WARN_ON(!rpdev->mu_base);
+ spin_lock_init(&rpdev->mu_lock);
+
if (variant == IMX7ULP)
irq = of_irq_get(np_mu, 1);
else