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

From: Michael Nazzareno Trimarchi
Date: Sat Sep 24 2022 - 13:58:44 EST


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");

Michael

>
>
> [ 2.377386] Unable to handle kernel NULL pointer dereference at
> virtual address 0000000000000005
> [ 2.377390] Mem abort info:
> [ 2.377392] ESR = 0x0000000096000004
> [ 2.379529] EC = 0x25: DABT (current EL), IL = 32 bits
> [ 2.379994] SET = 0, FnV = 0
> [ 2.380263] EA = 0, S1PTW = 0
> [ 2.380538] FSC = 0x04: level 0 translation fault
> [ 2.380964] Data abort info:
> [ 2.381217] ISV = 0, ISS = 0x00000004
> [ 2.381343] mmc2: SDHCI controller on fe330000.mmc [fe330000.mmc]
> using ADMA
> [ 2.381558] CM = 0, WnR = 0
> [ 2.382426] [0000000000000005] user address but active_mm is swapper
> [ 2.382981] Internal error: Oops: 96000004 [#1] PREEMPT SMP
> [ 2.383468] Modules linked in:
> [ 2.383740] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.19.0-rc6+ #728
> [ 2.384311] Hardware name: 96boards Rock960 (DT)
> [ 2.384715] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [ 2.385323] pc : pinctrl_lookup_state+0x20/0xc0
> [ 2.385729] lr : rockchip_i2s_probe+0x1a8/0x54c
> [ 2.386130] sp : ffff80000804bb30
> [ 2.386420] x29: ffff80000804bb30 x28: 0000000000000000 x27:
> ffff800009f204c8
> [ 2.387048] x26: ffff800009fc1060 x25: ffff800009fc1078 x24:
> ffff000002691b68
> [ 2.387673] x23: ffff800009967938 x22: ffffffffffffffed x21:
> ffff800009e1e0e8
> [ 2.388299] x20: ffffffffffffffed x19: ffff000002597480 x18:
> ffffffffffffffff
> [ 2.388924] x17: 000000040044ffff x16: 00400034b5503510 x15:
> ffff80008804b787
> [ 2.389550] x14: 0000000000000000 x13: 6c7274636e697020 x12:
> 73326920646e6966
> [ 2.390176] x11: 206f742064656c69 x10: 6166203a7332692e x9 :
> 656c696166203a73
> [ 2.390801] x8 : 32692e3030303061 x7 : 205d363238363733 x6 :
> ffff000001657880
> [ 2.391425] x5 : 0000000000000000 x4 : 0000000000000000 x3 :
> 0000000000000000
> [ 2.392051] x2 : 0000000000000000 x1 : ffff800009e1e0e8 x0 :
> ffffffffffffffed
> [ 2.392677] Call trace:
> [ 2.392892] pinctrl_lookup_state+0x20/0xc0
> [ 2.393261] rockchip_i2s_probe+0x1a8/0x54c
> [ 2.393629] platform_probe+0x68/0xe0
> [ 2.393954] really_probe.part.0+0x9c/0x2ac
> [ 2.394321] __driver_probe_device+0x98/0x144
> [ 2.394703] driver_probe_device+0xac/0x140
> [ 2.395070] __driver_attach+0xf8/0x1a0
> [ 2.395407] bus_for_each_dev+0x70/0xd0
> [ 2.395746] driver_attach+0x24/0x30
> [ 2.396063] bus_add_driver+0x150/0x200
> [ 2.396401] driver_register+0x78/0x130
> [ 2.396737] __platform_driver_register+0x28/0x34
> [ 2.397150] rockchip_i2s_driver_init+0x1c/0x28
> [ 2.397550] do_one_initcall+0x50/0x1c0
> [ 2.397890] kernel_init_freeable+0x208/0x28c
> [ 2.398274] kernel_init+0x28/0x13c
> [ 2.398583] ret_from_fork+0x10/0x20
> [ 2.398901] Code: aa0003f4 a9025bf5 aa0003f6 aa0103f5 (f8418e93)
> [ 2.399435] ---[ end trace 0000000000000000 ]---
> [ 2.399887] Kernel panic - not syncing: Attempted to kill init!
> exitcode=0x0000000b
> [ 2.400555] SMP: stopping secondary CPUs
> [ 2.400984] Kernel Offset: 0x80000 from 0xffff800008000000
> [ 2.401463] PHYS_OFFSET: 0x0
> [ 2.401716] CPU features: 0x800,00127811,00001082
> [ 2.402128] Memory Limit: none
> [ 2.402406] ---[ end Kernel panic - not syncing: Attempted to kill
> init! exitcode=0x0000000b ]---
>
>
> --
> <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
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-rockchip



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