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

From: Michael Nazzareno Trimarchi
Date: Sat Sep 24 2022 - 15:34:06 EST


On Sat, Sep 24, 2022 at 8:48 PM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
>
> 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

Now it's totally different. Anyway, my last comment was wrong totally

Michael

> [ 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



--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@xxxxxxxxxxxxxxxxxxxx
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@xxxxxxxxxxxxxxxxxxxx
www.amarulasolutions.com