Here comes another problem..
After ath10k problem is solved, I found that my IPQ40xx board can only boot from bootloader using either tftpboot
-then-bootm
, or bootipq
. Direct boot always crashes when probing PHY
PHY is QCA8072
[ 0.691706] libphy: ipq40xx_mdio: probed
[ 0.699574] Unable to handle kernel NULL pointer dereference at virtual address 000000a4
[ 0.699939] pgd = c0204000
[ 0.708026] [000000a4] *pgd=00000000
[ 0.710537] Internal error: Oops: 5 [#1] SMP ARM
[ 0.714254] Modules linked in:
[ 0.718856] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 4.14.107 #0
[ 0.721720] Hardware name: Generic DT based system
[ 0.727884] task: cf830000 task.stack: cf82e000
[ 0.732579] PC is at ar40xx_probe+0x318/0x738
[ 0.737000] LR is at ar40xx_probe+0x2fc/0x738
[ 0.741511] pc : [<c05b9ea0>] lr : [<c05b9e84>] psr: 60000013
[ 0.745855] sp : cf82fdf8 ip : cfde5324 fp : 00000000
[ 0.751928] r10: cf94f200 r9 : c0334f84 r8 : 00000000
[ 0.757138] r7 : c0a58e34 r6 : cf94f210 r5 : cfdf65f4 r4 : cfb80010
[ 0.762348] r3 : cfb801e4 r2 : 00000000 r1 : 00000000 r0 : cfb80010
[ 0.768947] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 0.775456] Control: 10c5387d Table: 8020406a DAC: 00000051
[ 0.782659] Process swapper/0 (pid: 1, stack limit = 0xcf82e210)
[ 0.788390] Stack: (0xcf82fdf8 to 0xcf830000)
[ 0.794466] fde0: 00000000 00001784
[ 0.798729] fe00: cf997a20 cfb801e4 cf997a20 00000004 00098000 000987ff cfdf69a0 00000200
[ 0.806888] fe20: 00000000 00000000 00000000 00000000 0c000000 0c07ffff cfdf664c 00000200
[ 0.815048] fe40: 00000000 00000000 00000000 00000000 c0a19a28 cf94f210 c0a19a28 c0a581ac
[ 0.823208] fe60: 00000000 00000000 c0a19a28 00000000 00000000 c055b76c c0a581a8 cf94f210
[ 0.831368] fe80: c0a581ac c055a1ac cf94f210 c0a19a28 cf94f244 00000000 00000007 00000059
[ 0.839527] fea0: c0936f44 c055a398 00000000 c0a19a28 c055a30c c0558938 cf817558 cf8e8f34
[ 0.847688] fec0: c0a19a28 cf98ac00 c0a16ae0 c05598bc c08179c8 c09164fc c0a19a28 c0a19a28
[ 0.855847] fee0: 00000000 c091650c ffffe000 c055aadc c0a03c48 00000000 c091650c c03019f0
[ 0.864007] ff00: cf82ff24 00000000 00000000 c0856700 cfffce40 c0856790 0000005a c0856790
[ 0.872166] ff20: cfffce52 c033ae18 c085609c c080d978 00000006 00000006 c07e8ed8 00000000
[ 0.880324] ff40: c07f1ce4 c07e8f4c cfffce52 c9571fb7 00000000 c0a24000 c0a24000 c092c834
[ 0.888485] ff60: c092c83c 00000007 00000059 c0936f44 00000000 c0900dc4 00000006 00000006
[ 0.896645] ff80: 00000000 c0900598 00000000 c07297bc 00000000 00000000 00000000 00000000
[ 0.904806] ffa0: 00000000 c07297c4 00000000 c0307768 00000000 00000000 00000000 00000000
[ 0.912963] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 0.921123] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 0.929299] [<c05b9ea0>] (ar40xx_probe) from [<c055b76c>] (platform_drv_probe+0x34/0x70)
[ 0.937447] [<c055b76c>] (platform_drv_probe) from [<c055a1ac>] (really_probe+0x114/0x274)
[ 0.945603] [<c055a1ac>] (really_probe) from [<c055a398>] (__driver_attach+0x8c/0xb0)
[ 0.953677] [<c055a398>] (__driver_attach) from [<c0558938>] (bus_for_each_dev+0x4c/0xa0)
[ 0.961576] [<c0558938>] (bus_for_each_dev) from [<c05598bc>] (bus_add_driver+0xe8/0x200)
[ 0.969735] [<c05598bc>] (bus_add_driver) from [<c055aadc>] (driver_register+0xa8/0xe4)
[ 0.977898] [<c055aadc>] (driver_register) from [<c03019f0>] (do_one_initcall+0xc0/0x184)
[ 0.985711] [<c03019f0>] (do_one_initcall) from [<c0900dc4>] (kernel_init_freeable+0x13c/0x1d0)
[ 0.994045] [<c0900dc4>] (kernel_init_freeable) from [<c07297c4>] (kernel_init+0x8/0x114)
[ 1.002553] [<c07297c4>] (kernel_init) from [<c0307768>] (ret_from_fork+0x14/0x2c)
[ 1.010881] Code: e58431f4 e3a01000 e1a00004 e58d300c (e59230a4)
[ 1.018474] ---[ end trace 2acf4f4240f07442 ]---
[ 1.024511] Kernel panic - not syncing: Fatal exception
Tried both 4.14 and 4.19 kernel.
I found the exact same problem here but neither has the solution: