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

From: Peter Geis
Date: Sun Sep 25 2022 - 21:43:41 EST


On Sun, Sep 25, 2022 at 5:51 PM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
>
>
> Hi,
>
> after a painful git bisect, the kernel panic happens with:
>
> commit 8dc60f8da22fdbaa1fafcfb5ff6d24bc9eff56aa (refs/bisect/bad)
> Author: Peter Geis <pgwipeout@xxxxxxxxx>
> Date: Tue Jun 21 20:31:40 2022 -0400
>
> phy: rockchip-inno-usb2: Sync initial otg state
>
> The initial otg state for the phy defaults to device mode. The actual
> state isn't detected until an ID IRQ fires. Fix this by syncing the ID
> state during initialization.
>
> Fixes: 51a9b2c03dd3 ("phy: rockchip-inno-usb2: Handle ID IRQ")
> Signed-off-by: Peter Geis <pgwipeout@xxxxxxxxx>
> Reviewed-by: Samuel Holland <samuel@xxxxxxxxxxxx>
> Link:
> https://lore.kernel.org/r/20220622003140.30365-1-pgwipeout@xxxxxxxxx
> Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx>
>
> Reverting it fixes the issue

Good Evening,

A fix has been submitted and accepted, it is currently sitting in -next:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/patch/drivers/phy/rockchip/phy-rockchip-inno-usb2.c?id=f340ed8664a55a467850ec1689996e63d9ee971a

Very Respectfully,
Peter

>
> =======================================================================
>
> @@@@`0` @`@@ @@@@@@@[ 3.566365] Unable to handle kernel NULL pointer
> dereference at virtual address 0000000000000000
> [ 3.567182] Mem abort info:
> [ 3.567440] ESR = 0x0000000086000006
> [ 3.567783] EC = 0x21: IABT (current EL), IL = 32 bits
> [ 3.568264] SET = 0, FnV = 0
> [ 3.568544] EA = 0, S1PTW = 0
> [ 3.568833] FSC = 0x06: level 2 translation fault
> [ 3.569275] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000024be000
> [ 3.569854] [0000000000000000] pgd=0800000001725003,
> p4d=0800000001725003, pud=0800000000f11003, pmd=0000000000000000
> [ 3.570912] Internal error: Oops: 86000006 [#1] PREEMPT SMP
> [ 3.571421] Modules linked in:
> [ 3.571712] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 5.19.0-rc1+ #795
> [ 3.572303] Hardware name: 96boards Rock960 (DT)
> [ 3.572722] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS
> BTYPE=--)
> [ 3.573354] pc : 0x0
> [ 3.573567] lr : call_timer_fn.constprop.0+0x24/0x80
> [ 3.574037] sp : ffff80000a703a50
> [ 3.574339] x29: ffff80000a703a50 x28: 0000000000000005 x27:
> 0000000000000000
> [ 3.575002] x26: ffff80000a3379c0 x25: ffff0000f7798de8 x24:
> ffff80000a703ae0
> [ 3.575664] x23: 0000000000000000 x22: dead000000000122 x21:
> 0000000000000101
> [ 3.576325] x20: ffff0000006b6200 x19: 0000000000000000 x18:
> 0000000000000000
> [ 3.576986] x17: ffff8000ed773000 x16: ffff80000801c000 x15:
> 00003d0900007d00
> [ 3.577648] x14: 0000000000000000 x13: 0000000000000000 x12:
> 0000000000000000
> [ 3.578308] x11: 0000000000000004 x10: ffff8000ed773000 x9 :
> ffff0000f7798e30
> [ 3.578970] x8 : 0000000000000001 x7 : ffffffffffffffff x6 :
> 0000000000000000
> [ 3.579630] x5 : 0000000000000000 x4 : 0000000000000000 x3 :
> 0000000000000200
> [ 3.580290] x2 : 0000000000000200 x1 : 0000000000000000 x0 :
> ffff000001025310
> [ 3.580951] Call trace:
> [ 3.581178] 0x0
> [ 3.581359] __run_timers.part.0+0x1f0/0x234
> [ 3.581759] run_timer_softirq+0x3c/0x7c
> [ 3.582130] _stext+0x124/0x2a0
> [ 3.582430] __irq_exit_rcu+0xe4/0x100
> [ 3.582790] irq_exit_rcu+0x10/0x1c
> [ 3.583117] el1_interrupt+0x38/0x70
> [ 3.583454] el1h_64_irq_handler+0x18/0x24
> [ 3.583835] el1h_64_irq+0x64/0x68
> [ 3.584156] cpuidle_enter_state+0x130/0x2f0
> [ 3.584560] cpuidle_enter+0x38/0x50
> [ 3.584901] do_idle+0x214/0x29c
> [ 3.585210] cpu_startup_entry+0x28/0x30
> [ 3.585578] secondary_start_kernel+0x13c/0x150
> [ 3.586002] __secondary_switched+0xa0/0xa4
> [ 3.586408] Code: bad PC value
> [ 3.586699] ---[ end trace 0000000000000000 ]---
> [ 3.587119] Kernel panic - not syncing: Oops: Fatal exception in
> interrupt
> [ 3.587732] SMP: stopping secondary CPUs
> [ 3.588230] Kernel Offset: 0x80000 from 0xffff800008000000
> [ 3.588725] PHYS_OFFSET: 0x0
> [ 3.588991] CPU features: 0x800,00127811,00001082
> [ 3.589420] Memory Limit: none
> [ 3.589724] ---[ 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