linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] clk: qcom: smd-rpm: Fix MSM8936 RPM_SMD_PCNOC_A_CLK
@ 2021-07-27  9:26 Shawn Guo
  2021-07-27 18:14 ` Stephen Boyd
  0 siblings, 1 reply; 2+ messages in thread
From: Shawn Guo @ 2021-07-27  9:26 UTC (permalink / raw)
  To: Stephen Boyd, Michael Turquette
  Cc: Konrad Dybcio, Bjorn Andersson, linux-arm-msm, linux-clk, Shawn Guo

Commit a0384ecfe2aa ("clk: qcom: smd-rpm: De-duplicate identical
entries") introduces the following regression on MSM8936/MSM8939, as
RPM_SMD_PCNOC_A_CLK gets pointed to pcnoc_clk by mistake.  Fix it by
correcting the clock to pcnoc_a_clk.

[    1.307363] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[    1.313593] Mem abort info:
[    1.322512]   ESR = 0x96000004
[    1.325132]   EC = 0x25: DABT (current EL), IL = 32 bits
[    1.338872]   SET = 0, FnV = 0
[    1.355483]   EA = 0, S1PTW = 0
[    1.368702]   FSC = 0x04: level 0 translation fault
[    1.383294] Data abort info:
[    1.398292]   ISV = 0, ISS = 0x00000004
[    1.398297]   CM = 0, WnR = 0
[    1.398301] [0000000000000000] user address but active_mm is swapper
[    1.404193] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[    1.420596] Modules linked in:
[    1.420604] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.14.0-rc3+ #198
[    1.441010] pc : __clk_register+0x48/0x780
[    1.446045] lr : __clk_register+0x3c/0x780
[    1.449953] sp : ffff800010063440
[    1.454031] x29: ffff800010063440 x28: 0000000000000004 x27: 0000000000000066
[    1.457423] x26: 0000000000000001 x25: 000000007fffffff x24: ffff800010f9f388
[    1.464540] x23: ffff00007fc12a90 x22: ffff0000034b2010 x21: 0000000000000000
[    1.471658] x20: ffff800010f9fff8 x19: ffff00000152a700 x18: 0000000000000001
[    1.478778] x17: ffff00007fbd40c8 x16: 0000000000000460 x15: 0000000000000465
[    1.485895] x14: ffffffffffffffff x13: 746e756f635f7265 x12: 696669746f6e5f6b
[    1.493013] x11: 0000000000000006 x10: 0000000000000000 x9 : 0000000000000000
[    1.500131] x8 : ffff00000152a800 x7 : 0000000000000000 x6 : 000000000000003f
[    1.507249] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000004
[    1.514367] x2 : 0000000000000000 x1 : 0000000000000cc0 x0 : ffff00000152a700
[    1.521486] Call trace:
[    1.528598]  __clk_register+0x48/0x780
[    1.530855]  clk_hw_register+0x20/0x60
[    1.534674]  devm_clk_hw_register+0x50/0xa8
[    1.538408]  rpm_smd_clk_probe+0x1a4/0x260
[    1.542488]  platform_probe+0x68/0xd8
[    1.546653]  really_probe+0x140/0x2f8
[    1.550386]  __driver_probe_device+0x78/0xe0
[    1.554033]  driver_probe_device+0x80/0x110
[    1.558373]  __device_attach_driver+0x90/0xe0
[    1.562280]  bus_for_each_drv+0x78/0xc8
[    1.566793]  __device_attach+0xf0/0x150
[    1.570438]  device_initial_probe+0x14/0x20
[    1.574259]  bus_probe_device+0x9c/0xa8
[    1.578425]  device_add+0x378/0x870
[    1.582243]  of_device_add+0x44/0x60
[    1.585716]  of_platform_device_create_pdata+0xc0/0x110
[    1.589538]  of_platform_bus_create+0x17c/0x388
[    1.594485]  of_platform_populate+0x50/0xf0
[    1.598998]  qcom_smd_rpm_probe+0xd4/0x128
[    1.603164]  rpmsg_dev_probe+0xbc/0x1a8
[    1.607330]  really_probe+0x140/0x2f8
[    1.611063]  __driver_probe_device+0x78/0xe0
[    1.614883]  driver_probe_device+0x80/0x110
[    1.619224]  __device_attach_driver+0x90/0xe0
[    1.623131]  bus_for_each_drv+0x78/0xc8
[    1.627643]  __device_attach+0xf0/0x150
[    1.631289]  device_initial_probe+0x14/0x20
[    1.635109]  bus_probe_device+0x9c/0xa8
[    1.639275]  device_add+0x378/0x870
[    1.643095]  device_register+0x20/0x30
[    1.646567]  rpmsg_register_device+0x54/0x90
[    1.650387]  qcom_channel_state_worker+0x168/0x288
[    1.654814]  process_one_work+0x1a0/0x328
[    1.659415]  worker_thread+0x4c/0x420
[    1.663494]  kthread+0x150/0x160
[    1.667138]  ret_from_fork+0x10/0x18
[    1.670442] Code: 97f56b92 b40034a0 aa0003f3 52819801 (f94002a0)
[    1.674004] ---[ end trace 412fa6f47384cdfe ]---

Fixes: a0384ecfe2aa ("clk: qcom: smd-rpm: De-duplicate identical entries")
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
 drivers/clk/qcom/clk-smd-rpm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/clk-smd-rpm.c b/drivers/clk/qcom/clk-smd-rpm.c
index 800b2fef1887..b2c142f3a649 100644
--- a/drivers/clk/qcom/clk-smd-rpm.c
+++ b/drivers/clk/qcom/clk-smd-rpm.c
@@ -467,7 +467,7 @@ DEFINE_CLK_SMD_RPM(msm8936, sysmmnoc_clk, sysmmnoc_a_clk, QCOM_SMD_RPM_BUS_CLK,
 
 static struct clk_smd_rpm *msm8936_clks[] = {
 	[RPM_SMD_PCNOC_CLK]		= &msm8916_pcnoc_clk,
-	[RPM_SMD_PCNOC_A_CLK]		= &msm8916_pcnoc_clk,
+	[RPM_SMD_PCNOC_A_CLK]		= &msm8916_pcnoc_a_clk,
 	[RPM_SMD_SNOC_CLK]		= &msm8916_snoc_clk,
 	[RPM_SMD_SNOC_A_CLK]		= &msm8916_snoc_a_clk,
 	[RPM_SMD_BIMC_CLK]		= &msm8916_bimc_clk,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] clk: qcom: smd-rpm: Fix MSM8936 RPM_SMD_PCNOC_A_CLK
  2021-07-27  9:26 [PATCH] clk: qcom: smd-rpm: Fix MSM8936 RPM_SMD_PCNOC_A_CLK Shawn Guo
@ 2021-07-27 18:14 ` Stephen Boyd
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Boyd @ 2021-07-27 18:14 UTC (permalink / raw)
  To: Michael Turquette, Shawn Guo
  Cc: Konrad Dybcio, Bjorn Andersson, linux-arm-msm, linux-clk, Shawn Guo

Quoting Shawn Guo (2021-07-27 02:26:13)
> Commit a0384ecfe2aa ("clk: qcom: smd-rpm: De-duplicate identical
> entries") introduces the following regression on MSM8936/MSM8939, as
> RPM_SMD_PCNOC_A_CLK gets pointed to pcnoc_clk by mistake.  Fix it by
> correcting the clock to pcnoc_a_clk.
> 
> [    1.307363] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> [    1.313593] Mem abort info:
> [    1.322512]   ESR = 0x96000004
> [    1.325132]   EC = 0x25: DABT (current EL), IL = 32 bits
> [    1.338872]   SET = 0, FnV = 0
> [    1.355483]   EA = 0, S1PTW = 0
> [    1.368702]   FSC = 0x04: level 0 translation fault
> [    1.383294] Data abort info:
> [    1.398292]   ISV = 0, ISS = 0x00000004
> [    1.398297]   CM = 0, WnR = 0
> [    1.398301] [0000000000000000] user address but active_mm is swapper
> [    1.404193] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [    1.420596] Modules linked in:
> [    1.420604] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.14.0-rc3+ #198
> [    1.441010] pc : __clk_register+0x48/0x780
> [    1.446045] lr : __clk_register+0x3c/0x780
> [    1.449953] sp : ffff800010063440
> [    1.454031] x29: ffff800010063440 x28: 0000000000000004 x27: 0000000000000066
> [    1.457423] x26: 0000000000000001 x25: 000000007fffffff x24: ffff800010f9f388
> [    1.464540] x23: ffff00007fc12a90 x22: ffff0000034b2010 x21: 0000000000000000
> [    1.471658] x20: ffff800010f9fff8 x19: ffff00000152a700 x18: 0000000000000001
> [    1.478778] x17: ffff00007fbd40c8 x16: 0000000000000460 x15: 0000000000000465
> [    1.485895] x14: ffffffffffffffff x13: 746e756f635f7265 x12: 696669746f6e5f6b
> [    1.493013] x11: 0000000000000006 x10: 0000000000000000 x9 : 0000000000000000
> [    1.500131] x8 : ffff00000152a800 x7 : 0000000000000000 x6 : 000000000000003f
> [    1.507249] x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000004
> [    1.514367] x2 : 0000000000000000 x1 : 0000000000000cc0 x0 : ffff00000152a700
> [    1.521486] Call trace:
> [    1.528598]  __clk_register+0x48/0x780
> [    1.530855]  clk_hw_register+0x20/0x60
> [    1.534674]  devm_clk_hw_register+0x50/0xa8
> [    1.538408]  rpm_smd_clk_probe+0x1a4/0x260
> [    1.542488]  platform_probe+0x68/0xd8
> [    1.546653]  really_probe+0x140/0x2f8
> [    1.550386]  __driver_probe_device+0x78/0xe0
> [    1.554033]  driver_probe_device+0x80/0x110
> [    1.558373]  __device_attach_driver+0x90/0xe0
> [    1.562280]  bus_for_each_drv+0x78/0xc8
> [    1.566793]  __device_attach+0xf0/0x150
> [    1.570438]  device_initial_probe+0x14/0x20
> [    1.574259]  bus_probe_device+0x9c/0xa8
> [    1.578425]  device_add+0x378/0x870
> [    1.582243]  of_device_add+0x44/0x60
> [    1.585716]  of_platform_device_create_pdata+0xc0/0x110
> [    1.589538]  of_platform_bus_create+0x17c/0x388
> [    1.594485]  of_platform_populate+0x50/0xf0
> [    1.598998]  qcom_smd_rpm_probe+0xd4/0x128
> [    1.603164]  rpmsg_dev_probe+0xbc/0x1a8
> [    1.607330]  really_probe+0x140/0x2f8
> [    1.611063]  __driver_probe_device+0x78/0xe0
> [    1.614883]  driver_probe_device+0x80/0x110
> [    1.619224]  __device_attach_driver+0x90/0xe0
> [    1.623131]  bus_for_each_drv+0x78/0xc8
> [    1.627643]  __device_attach+0xf0/0x150
> [    1.631289]  device_initial_probe+0x14/0x20
> [    1.635109]  bus_probe_device+0x9c/0xa8
> [    1.639275]  device_add+0x378/0x870
> [    1.643095]  device_register+0x20/0x30
> [    1.646567]  rpmsg_register_device+0x54/0x90
> [    1.650387]  qcom_channel_state_worker+0x168/0x288
> [    1.654814]  process_one_work+0x1a0/0x328
> [    1.659415]  worker_thread+0x4c/0x420
> [    1.663494]  kthread+0x150/0x160
> [    1.667138]  ret_from_fork+0x10/0x18
> [    1.670442] Code: 97f56b92 b40034a0 aa0003f3 52819801 (f94002a0)
> [    1.674004] ---[ end trace 412fa6f47384cdfe ]---

Applied to clk-fixes

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-27 18:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  9:26 [PATCH] clk: qcom: smd-rpm: Fix MSM8936 RPM_SMD_PCNOC_A_CLK Shawn Guo
2021-07-27 18:14 ` Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).