Some clocks were missing from axg_clk_regmaps, which caused kernel panic
during cat /sys/kernel/debug/clk/clk_summary
[ 57.349402] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001fc
..
[ 57.430002] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 57.436900] pc : regmap_read+0x1c/0x88
[ 57.440608] lr : clk_regmap_gate_is_enabled+0x3c/0xb0
[ 57.445611] sp : ffff800082f1b690
[ 57.448888] x29: ffff800082f1b690 x28: 0000000000000000 x27: ffff800080eb9a70
[ 57.455961] x26: 0000000000000007 x25: 0000000000000016 x24: 0000000000000000
[ 57.463033] x23: ffff800080e8b488 x22: 0000000000000015 x21: ffff00000e7e7000
[ 57.470106] x20: ffff00000400ec00 x19: 0000000000000000 x18: ffffffffffffffff
[ 57.477178] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0000042a3000
[ 57.484251] x14: 0000000000000000 x13: ffff0000042a2fec x12: 0000000005f5e100
[ 57.491323] x11: abcc77118461cefd x10: 0000000000000020 x9 : ffff8000805e4b24
[ 57.498396] x8 : ffff0000028063c0 x7 : ffff800082f1b710 x6 : ffff800082f1b710
[ 57.505468] x5 : 00000000ffffffd0 x4 : ffff800082f1b6e0 x3 : 0000000000001000
[ 57.512541] x2 : ffff800082f1b6e4 x1 : 000000000000012c x0 : 0000000000000000
[ 57.519615] Call trace:
[ 57.522030] regmap_read+0x1c/0x88
[ 57.525393] clk_regmap_gate_is_enabled+0x3c/0xb0
[ 57.530050] clk_core_is_enabled+0x44/0x120
[ 57.534190] clk_summary_show_subtree+0x154/0x2f0
[ 57.538847] clk_summary_show_subtree+0x220/0x2f0
[ 57.543505] clk_summary_show_subtree+0x220/0x2f0
[ 57.548162] clk_summary_show_subtree+0x220/0x2f0
[ 57.552820] clk_summary_show_subtree+0x220/0x2f0
[ 57.557477] clk_summary_show_subtree+0x220/0x2f0
[ 57.562135] clk_summary_show_subtree+0x220/0x2f0
[ 57.566792] clk_summary_show_subtree+0x220/0x2f0
[ 57.571450] clk_summary_show+0x84/0xb8
[ 57.575245] seq_read_iter+0x1bc/0x4b8
[ 57.578954] seq_read+0x8c/0xd0
[ 57.582059] full_proxy_read+0x68/0xc8
[ 57.585767] vfs_read+0xb0/0x268
[ 57.588959] ksys_read+0x70/0x108
[ 57.592236] __arm64_sys_read+0x24/0x38
[ 57.596031] invoke_syscall+0x50/0x128
[ 57.599740] el0_svc_common.constprop.0+0x48/0xf8
[ 57.604397] do_el0_svc+0x28/0x40
[ 57.607675] el0_svc+0x34/0xb8
[ 57.610694] el0t_64_sync_handler+0x13c/0x158
[ 57.615006] el0t_64_sync+0x190/0x198
[ 57.618635] Code: a9bd7bfd 910003fd a90153f3 aa0003f3 (b941fc00)
[ 57.624668] ---[ end trace 0000000000000000 ]---
Signed-off-by: Igor Prusov <[email protected]>
---
drivers/clk/meson/axg.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index c12f81dfa674..5f60f2bcca59 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -2142,7 +2142,9 @@ static struct clk_regmap *const axg_clk_regmaps[] = {
&axg_vclk_input,
&axg_vclk2_input,
&axg_vclk_div,
+ &axg_vclk_div1,
&axg_vclk2_div,
+ &axg_vclk2_div1,
&axg_vclk_div2_en,
&axg_vclk_div4_en,
&axg_vclk_div6_en,
--
2.34.1
On Fri 02 Feb 2024 at 17:25, Igor Prusov <[email protected]> wrote:
> Some clocks were missing from axg_clk_regmaps, which caused kernel panic
> during cat /sys/kernel/debug/clk/clk_summary
>
> [ 57.349402] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001fc
> ...
> [ 57.430002] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 57.436900] pc : regmap_read+0x1c/0x88
> [ 57.440608] lr : clk_regmap_gate_is_enabled+0x3c/0xb0
> [ 57.445611] sp : ffff800082f1b690
> [ 57.448888] x29: ffff800082f1b690 x28: 0000000000000000 x27: ffff800080eb9a70
> [ 57.455961] x26: 0000000000000007 x25: 0000000000000016 x24: 0000000000000000
> [ 57.463033] x23: ffff800080e8b488 x22: 0000000000000015 x21: ffff00000e7e7000
> [ 57.470106] x20: ffff00000400ec00 x19: 0000000000000000 x18: ffffffffffffffff
> [ 57.477178] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0000042a3000
> [ 57.484251] x14: 0000000000000000 x13: ffff0000042a2fec x12: 0000000005f5e100
> [ 57.491323] x11: abcc77118461cefd x10: 0000000000000020 x9 : ffff8000805e4b24
> [ 57.498396] x8 : ffff0000028063c0 x7 : ffff800082f1b710 x6 : ffff800082f1b710
> [ 57.505468] x5 : 00000000ffffffd0 x4 : ffff800082f1b6e0 x3 : 0000000000001000
> [ 57.512541] x2 : ffff800082f1b6e4 x1 : 000000000000012c x0 : 0000000000000000
> [ 57.519615] Call trace:
> [ 57.522030] regmap_read+0x1c/0x88
> [ 57.525393] clk_regmap_gate_is_enabled+0x3c/0xb0
> [ 57.530050] clk_core_is_enabled+0x44/0x120
> [ 57.534190] clk_summary_show_subtree+0x154/0x2f0
> [ 57.538847] clk_summary_show_subtree+0x220/0x2f0
> [ 57.543505] clk_summary_show_subtree+0x220/0x2f0
> [ 57.548162] clk_summary_show_subtree+0x220/0x2f0
> [ 57.552820] clk_summary_show_subtree+0x220/0x2f0
> [ 57.557477] clk_summary_show_subtree+0x220/0x2f0
> [ 57.562135] clk_summary_show_subtree+0x220/0x2f0
> [ 57.566792] clk_summary_show_subtree+0x220/0x2f0
> [ 57.571450] clk_summary_show+0x84/0xb8
> [ 57.575245] seq_read_iter+0x1bc/0x4b8
> [ 57.578954] seq_read+0x8c/0xd0
> [ 57.582059] full_proxy_read+0x68/0xc8
> [ 57.585767] vfs_read+0xb0/0x268
> [ 57.588959] ksys_read+0x70/0x108
> [ 57.592236] __arm64_sys_read+0x24/0x38
> [ 57.596031] invoke_syscall+0x50/0x128
> [ 57.599740] el0_svc_common.constprop.0+0x48/0xf8
> [ 57.604397] do_el0_svc+0x28/0x40
> [ 57.607675] el0_svc+0x34/0xb8
> [ 57.610694] el0t_64_sync_handler+0x13c/0x158
> [ 57.615006] el0t_64_sync+0x190/0x198
> [ 57.618635] Code: a9bd7bfd 910003fd a90153f3 aa0003f3 (b941fc00)
> [ 57.624668] ---[ end trace 0000000000000000 ]---
>
> Signed-off-by: Igor Prusov <[email protected]>
This has gone un-noticed for a while :/
Thanks Igor.
Please remember to add an appropriate Fixes tag for patches like this.
It is important to help stable releases.
Fixes: 14ebb3154b8f ("clk: meson: axg: add Video Clocks")
> ---
>
> drivers/clk/meson/axg.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
> index c12f81dfa674..5f60f2bcca59 100644
> --- a/drivers/clk/meson/axg.c
> +++ b/drivers/clk/meson/axg.c
> @@ -2142,7 +2142,9 @@ static struct clk_regmap *const axg_clk_regmaps[] = {
> &axg_vclk_input,
> &axg_vclk2_input,
> &axg_vclk_div,
> + &axg_vclk_div1,
> &axg_vclk2_div,
> + &axg_vclk2_div1,
> &axg_vclk_div2_en,
> &axg_vclk_div4_en,
> &axg_vclk_div6_en,
--
Jerome
Applied to clk-meson (v6.9/drivers), thanks!
[1/1] clk: meson: Add missing clocks to axg_clk_regmaps
https://github.com/BayLibre/clk-meson/commit/ba535bce57e7
Best regards,
--
Jerome