Linux clock framework development
 help / color / mirror / Atom feed
* [PATCH] clk: amlogic: fix recent code refactoring
       [not found] <CGME20250918160614eucas1p1657e57414f7db6a57828fc256e8111a6@eucas1p1.samsung.com>
@ 2025-09-18 16:06 ` Marek Szyprowski
  2025-09-19  8:40   ` Neil Armstrong
                     ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Marek Szyprowski @ 2025-09-18 16:06 UTC (permalink / raw)
  To: linux-amlogic, linux-clk
  Cc: Marek Szyprowski, Neil Armstrong, Jerome Brunet,
	Michael Turquette, Stephen Boyd, Kevin Hilman,
	Martin Blumenstingl, Chuan Liu

Commit 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
refactored some internals in the g12a meson clock driver. Unfortunately
it introduced a bug in the clock init data, which results in the
following kernel panic:

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
Mem abort info:
...
Data abort info:
...
[0000000000000000] user address but active_mm is swapper
Internal error: Oops: 0000000096000004 [#1]  SMP
Modules linked in:
CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.0-rc1+ #11158 PREEMPT
Hardware name: Hardkernel ODROID-N2 (DT)
pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __clk_register+0x60/0x92c
lr : __clk_register+0x48/0x92c
...
Call trace:
 __clk_register+0x60/0x92c (P)
 devm_clk_hw_register+0x5c/0xd8
 meson_eeclkc_probe+0x74/0x110
 g12a_clkc_probe+0x2c/0x58
 platform_probe+0x5c/0xac
 really_probe+0xbc/0x298
 __driver_probe_device+0x78/0x12c
 driver_probe_device+0xdc/0x164
 __driver_attach+0x9c/0x1ac
 bus_for_each_dev+0x74/0xd0
 driver_attach+0x24/0x30
 bus_add_driver+0xe4/0x208
 driver_register+0x60/0x128
 __platform_driver_register+0x24/0x30
 g12a_clkc_driver_init+0x1c/0x28
 do_one_initcall+0x64/0x308
 kernel_init_freeable+0x27c/0x4f8
 kernel_init+0x20/0x1d8
 ret_from_fork+0x10/0x20
Code: 52800038 aa0003fc b9010018 52819801 (f9400260)
---[ end trace 0000000000000000 ]---

Fix this by correcting the clock init data.

Fixes: 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
---
 drivers/clk/meson/g12a.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
index 7e2c0ce91964..1413eadd8dc6 100644
--- a/drivers/clk/meson/g12a.c
+++ b/drivers/clk/meson/g12a.c
@@ -4919,7 +4919,7 @@ static struct clk_hw *g12b_hw_clks[] = {
 	[CLKID_CPUB_CLK_DYN0_SEL]	= &g12b_cpub_clk_dyn0_sel.hw,
 	[CLKID_CPUB_CLK_DYN0_DIV]	= &g12b_cpub_clk_dyn0_div.hw,
 	[CLKID_CPUB_CLK_DYN0]		= &g12b_cpub_clk_dyn0.hw,
-	[CLKID_CPUB_CLK_DYN1_SEL]	= &g12b_cpub_clk_dyn1.hw,
+	[CLKID_CPUB_CLK_DYN1_SEL]	= &g12b_cpub_clk_dyn1_sel.hw,
 	[CLKID_CPUB_CLK_DYN1_DIV]	= &g12b_cpub_clk_dyn1_div.hw,
 	[CLKID_CPUB_CLK_DYN1]		= &g12b_cpub_clk_dyn1.hw,
 	[CLKID_CPUB_CLK_DYN]		= &g12b_cpub_clk_dyn.hw,
-- 
2.34.1


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

* Re: [PATCH] clk: amlogic: fix recent code refactoring
  2025-09-18 16:06 ` [PATCH] clk: amlogic: fix recent code refactoring Marek Szyprowski
@ 2025-09-19  8:40   ` Neil Armstrong
  2025-09-19  9:51   ` Jerome Brunet
  2025-09-20  4:59   ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Neil Armstrong @ 2025-09-19  8:40 UTC (permalink / raw)
  To: Marek Szyprowski, linux-amlogic, linux-clk
  Cc: Jerome Brunet, Michael Turquette, Stephen Boyd, Kevin Hilman,
	Martin Blumenstingl, Chuan Liu

On 18/09/2025 18:06, Marek Szyprowski wrote:
> Commit 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
> refactored some internals in the g12a meson clock driver. Unfortunately
> it introduced a bug in the clock init data, which results in the
> following kernel panic:
> 
> Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> Mem abort info:
> ...
> Data abort info:
> ...
> [0000000000000000] user address but active_mm is swapper
> Internal error: Oops: 0000000096000004 [#1]  SMP
> Modules linked in:
> CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.0-rc1+ #11158 PREEMPT
> Hardware name: Hardkernel ODROID-N2 (DT)
> pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : __clk_register+0x60/0x92c
> lr : __clk_register+0x48/0x92c
> ...
> Call trace:
>   __clk_register+0x60/0x92c (P)
>   devm_clk_hw_register+0x5c/0xd8
>   meson_eeclkc_probe+0x74/0x110
>   g12a_clkc_probe+0x2c/0x58
>   platform_probe+0x5c/0xac
>   really_probe+0xbc/0x298
>   __driver_probe_device+0x78/0x12c
>   driver_probe_device+0xdc/0x164
>   __driver_attach+0x9c/0x1ac
>   bus_for_each_dev+0x74/0xd0
>   driver_attach+0x24/0x30
>   bus_add_driver+0xe4/0x208
>   driver_register+0x60/0x128
>   __platform_driver_register+0x24/0x30
>   g12a_clkc_driver_init+0x1c/0x28
>   do_one_initcall+0x64/0x308
>   kernel_init_freeable+0x27c/0x4f8
>   kernel_init+0x20/0x1d8
>   ret_from_fork+0x10/0x20
> Code: 52800038 aa0003fc b9010018 52819801 (f9400260)
> ---[ end trace 0000000000000000 ]---
> 
> Fix this by correcting the clock init data.
> 
> Fixes: 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/clk/meson/g12a.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
> index 7e2c0ce91964..1413eadd8dc6 100644
> --- a/drivers/clk/meson/g12a.c
> +++ b/drivers/clk/meson/g12a.c
> @@ -4919,7 +4919,7 @@ static struct clk_hw *g12b_hw_clks[] = {
>   	[CLKID_CPUB_CLK_DYN0_SEL]	= &g12b_cpub_clk_dyn0_sel.hw,
>   	[CLKID_CPUB_CLK_DYN0_DIV]	= &g12b_cpub_clk_dyn0_div.hw,
>   	[CLKID_CPUB_CLK_DYN0]		= &g12b_cpub_clk_dyn0.hw,
> -	[CLKID_CPUB_CLK_DYN1_SEL]	= &g12b_cpub_clk_dyn1.hw,
> +	[CLKID_CPUB_CLK_DYN1_SEL]	= &g12b_cpub_clk_dyn1_sel.hw,
>   	[CLKID_CPUB_CLK_DYN1_DIV]	= &g12b_cpub_clk_dyn1_div.hw,
>   	[CLKID_CPUB_CLK_DYN1]		= &g12b_cpub_clk_dyn1.hw,
>   	[CLKID_CPUB_CLK_DYN]		= &g12b_cpub_clk_dyn.hw,

Thanks for the fix!

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on BananPi M2S

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

* Re: [PATCH] clk: amlogic: fix recent code refactoring
  2025-09-18 16:06 ` [PATCH] clk: amlogic: fix recent code refactoring Marek Szyprowski
  2025-09-19  8:40   ` Neil Armstrong
@ 2025-09-19  9:51   ` Jerome Brunet
  2025-09-20  4:59   ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Jerome Brunet @ 2025-09-19  9:51 UTC (permalink / raw)
  To: Marek Szyprowski, Stephen Boyd
  Cc: linux-amlogic, linux-clk, Neil Armstrong, Michael Turquette,
	Kevin Hilman, Martin Blumenstingl, Chuan Liu

On Thu 18 Sep 2025 at 18:06, Marek Szyprowski <m.szyprowski@samsung.com> wrote:

> Commit 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
> refactored some internals in the g12a meson clock driver. Unfortunately
> it introduced a bug in the clock init data, which results in the
> following kernel panic:
>
> Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> Mem abort info:

Thanks a lot for the early testing Marek.
I had no g12b with me to check

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>

Stephen, would you mind picking this up directly please ?

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

* Re: [PATCH] clk: amlogic: fix recent code refactoring
  2025-09-18 16:06 ` [PATCH] clk: amlogic: fix recent code refactoring Marek Szyprowski
  2025-09-19  8:40   ` Neil Armstrong
  2025-09-19  9:51   ` Jerome Brunet
@ 2025-09-20  4:59   ` Stephen Boyd
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Boyd @ 2025-09-20  4:59 UTC (permalink / raw)
  To: Marek Szyprowski, linux-amlogic, linux-clk
  Cc: Marek Szyprowski, Neil Armstrong, Jerome Brunet,
	Michael Turquette, Kevin Hilman, Martin Blumenstingl, Chuan Liu

Quoting Marek Szyprowski (2025-09-18 09:06:01)
> Commit 4c4e17f27013 ("clk: amlogic: naming consistency alignment")
> refactored some internals in the g12a meson clock driver. Unfortunately
> it introduced a bug in the clock init data, which results in the
> following kernel panic:
> 
> Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
> Mem abort info:
> ...
> Data abort info:
> ...
> [0000000000000000] user address but active_mm is swapper
> Internal error: Oops: 0000000096000004 [#1]  SMP
> Modules linked in:
> CPU: 4 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.17.0-rc1+ #11158 PREEMPT
> Hardware name: Hardkernel ODROID-N2 (DT)
> pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : __clk_register+0x60/0x92c
> lr : __clk_register+0x48/0x92c
> ...
> Call trace:
>  __clk_register+0x60/0x92c (P)
>  devm_clk_hw_register+0x5c/0xd8
>  meson_eeclkc_probe+0x74/0x110
>  g12a_clkc_probe+0x2c/0x58
>  platform_probe+0x5c/0xac
>  really_probe+0xbc/0x298
>  __driver_probe_device+0x78/0x12c
>  driver_probe_device+0xdc/0x164
>  __driver_attach+0x9c/0x1ac
>  bus_for_each_dev+0x74/0xd0
>  driver_attach+0x24/0x30
>  bus_add_driver+0xe4/0x208
>  driver_register+0x60/0x128
>  __platform_driver_register+0x24/0x30
>  g12a_clkc_driver_init+0x1c/0x28
>  do_one_initcall+0x64/0x308
>  kernel_init_freeable+0x27c/0x4f8
>  kernel_init+0x20/0x1d8
>  ret_from_fork+0x10/0x20
> Code: 52800038 aa0003fc b9010018 52819801 (f9400260)
> ---[ end trace 0000000000000000 ]---

Applied to clk-next

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

end of thread, other threads:[~2025-09-20  4:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20250918160614eucas1p1657e57414f7db6a57828fc256e8111a6@eucas1p1.samsung.com>
2025-09-18 16:06 ` [PATCH] clk: amlogic: fix recent code refactoring Marek Szyprowski
2025-09-19  8:40   ` Neil Armstrong
2025-09-19  9:51   ` Jerome Brunet
2025-09-20  4:59   ` Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox