Re: v6.0-rc6 - arm64 / rock960 : kernel panic

From: Daniel Lezcano
Date: Sat Sep 24 2022 - 14:51:54 EST


On 24/09/2022 20:01, Michael Nazzareno Trimarchi wrote:
On Sat, Sep 24, 2022 at 7:58 PM Michael Nazzareno Trimarchi
<michael@xxxxxxxxxxxxxxxxxxxx> wrote:

Hi Daniel

On Sat, Sep 24, 2022 at 7:43 PM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:

Hi,

there is a kernel panic on a rock960 board:

After git bisecting, I have:

commit 14facbc1871ae15404666747b5319c08e04b875a
Merge: f5c97da8037b 32346491ddf2
Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Mon Jul 11 08:32:58 2022 +0200

Merge 5.19-rc6 into char-misc-next

We need the misc driver fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Any clue?

That code receive 3-4 commits for one fix

diff --git a/sound/soc/rockchip/rockchip_i2s.c
b/sound/soc/rockchip/rockchip_i2s.c
index f5f3540a9e18..a32a45b09b03 100644
--- a/sound/soc/rockchip/rockchip_i2s.c
+++ b/sound/soc/rockchip/rockchip_i2s.c
@@ -803,7 +803,7 @@ static int rockchip_i2s_probe(struct platform_device *pdev)

i2s->bclk_ratio = 64;
i2s->pinctrl = devm_pinctrl_get(&pdev->dev);
- if (!IS_ERR(i2s->pinctrl)) {
+ if (!IS_ERR_OR_NULL(i2s->pinctrl)) {
i2s->bclk_on = pinctrl_lookup_state(i2s->pinctrl, "bclk_on");
if (!IS_ERR_OR_NULL(i2s->bclk_on)) {
i2s->bclk_off =
pinctrl_lookup_state(i2s->pinctrl, "bclk_off");

I don't sure if you can get null from there, but you have two
lookup_state on that function


Hmm, actually, I think it is not the same kernel panic I'm observing on v6.0-rc6.

I've been puzzled by different kernel panics from different issues when git bisecting.

The one happening is:

[ 2.471037] rk808-rtc rk808-rtc: setting system clock to 2022-09-24T18:41:07 UTC (1664044867)
[ 2.485859] usbcore: registered new interface driver uvcvideo
[ 3.726846] Unable to handle kernel execute from non-executable memory at virtual address ffff80000a516530
[ 3.728032] Mem abort info:
[ 3.728308] ESR = 0x000000008600000f
[ 3.728667] EC = 0x21: IABT (current EL), IL = 32 bits
[ 3.729169] SET = 0, FnV = 0
[ 3.729466] EA = 0, S1PTW = 0
[ 3.729770] FSC = 0x0f: level 3 permission fault
[ 3.730223] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000005f42000
[ 3.730846] [ffff80000a516530] pgd=10000000f7fff003, p4d=10000000f7fff003, pud=10000000f7ffe003, pmd=10000000f7ff9003, pte=0078000006516f03
[ 3.732063] Internal error: Oops: 8600000f [#1] PREEMPT SMP
[ 3.732588] Modules linked in:
[ 3.732918] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.0.0-rc1+ #730
[ 3.733532] Hardware name: 96boards Rock960 (DT)
[ 3.733971] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 3.734635] pc : extcon_dev_list+0x0/0x10
[ 3.735056] lr : call_timer_fn.constprop.0+0x24/0x80
[ 3.735551] sp : ffff80000a733ab0
[ 3.735869] x29: ffff80000a733ab0 x28: 0000000000000005 x27: ffff80000a516530
[ 3.736574] x26: ffff80000a3779c0 x25: ffff0000f776dde8 x24: ffff80000a733b40
[ 3.737277] x23: 0000000000000000 x22: dead000000000122 x21: 0000000000000101
[ 3.737977] x20: ffff000000644600 x19: ffff80000a516530 x18: ffffffffffffffff
[ 3.738677] x17: ffff8000ed713000 x16: ffff80000800c000 x15: 0000000000004000
[ 3.739377] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 3.740073] x11: 00000000000000b7 x10: ffff8000ed713000 x9 : ffff0000f776de30
[ 3.740771] x8 : 0000000000000001 x7 : ffffffffffffffff x6 : 0000000000000000
[ 3.741469] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000200
[ 3.742164] x2 : 0000000000000200 x1 : ffff80000a516530 x0 : ffff0000007e7310
[ 3.742865] Call trace:
[ 3.743107] extcon_dev_list+0x0/0x10
[ 3.743477] __run_timers.part.0+0x1f0/0x234
[ 3.743908] run_timer_softirq+0x3c/0x7c
[ 3.744306] _stext+0x124/0x2a4
[ 3.744627] __irq_exit_rcu+0xcc/0xfc
[ 3.745008] irq_exit_rcu+0x10/0x20
[ 3.745372] el1_interrupt+0x38/0x70
[ 3.745733] el1h_64_irq_handler+0x18/0x24
[ 3.746140] el1h_64_irq+0x64/0x68
[ 3.746484] arch_cpu_idle+0x18/0x2c
[ 3.746843] default_idle_call+0x34/0x70
[ 3.747243] do_idle+0x240/0x2bc
[ 3.747576] cpu_startup_entry+0x24/0x30
[ 3.747969] secondary_start_kernel+0x12c/0x140
[ 3.748421] __secondary_switched+0xb0/0xb4
[ 3.748879] Code: 0a516520 ffff8000 0a516520 ffff8000 (007e7320)
[ 3.749461] ---[ end trace 0000000000000000 ]---
[ 3.749911] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 3.750548] SMP: stopping secondary CPUs
[ 3.751094] Kernel Offset: 0x80000 from 0xffff800008000000
[ 3.751609] PHYS_OFFSET: 0x0
[ 3.751889] CPU features: 0x2000,0824f021,00001082
[ 3.752354] Memory Limit: none
[ 3.752655] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---



--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog