1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Balázs Triszka c7d6692bd8
airoha: fix PHY_DETACH_NO_HW_RESET patch panic
Fix kernel panic caused by downstream PHY_DETACH_NO_HW_RESET patch.

[   20.994001] airoha_eth 1fb50000.ethernet wan: validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[   21.058106] Unable to handle kernel access to user memory outside uaccess routines at virtual address 00000000000000b8
[   21.068879] Mem abort info:
[   21.071684]   ESR = 0x0000000096000005
[   21.075436]   EC = 0x25: DABT (current EL), IL = 32 bits
[   21.080790]   SET = 0, FnV = 0
[   21.083854]   EA = 0, S1PTW = 0
[   21.086997]   FSC = 0x05: level 1 translation fault
[   21.091931] Data abort info:
[   21.094829]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[   21.100359]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[   21.105419]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[   21.110762] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000091bc8000
[   21.117218] [00000000000000b8] pgd=0800000084ee9003, p4d=0800000084ee9003, pud=0800000084ee9003, pmd=0000000000000000
[   21.127892] Internal error: Oops: 0000000096000005 [#1] SMP
[   21.133483] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nfte
[   21.191941] CPU: 3 UID: 0 PID: 1882 Comm: netifd Tainted: G           O       6.12.57 #0
[   21.200046] Tainted: [O]=OOT_MODULE
[   21.203534] Hardware name: Gemtek W1700K (DT)
[   21.207892] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   21.214861] pc : phy_detach+0xe8/0x194
[   21.218628] lr : phy_detach+0xe4/0x194
[   21.222387] sp : ffffffc0823ebae0
[   21.225702] x29: ffffffc0823ebae0 x28: ffffff8005451c00 x27: 0000000000000000
[   21.232846] x26: 0000000000000000 x25: 0000000000001003 x24: ffffffc080cf8240
[   21.239990] x23: 0000000000001002 x22: ffffff807fc527f8 x21: ffffffc080c93318
[   21.247125] x20: ffffff8001cfc000 x19: ffffff80036f7000 x18: ffffff8012cde323
[   21.254269] x17: 303a302d30333537 x16: 000000000000000e x15: 0000005139b64de4
[   21.261413] x14: 0000000000000001 x13: ffffff80020b46c0 x12: 0000000000000001
[   21.268550] x11: ffffff80020b46c0 x10: ffffff8005451cc0 x9 : ffffff807dbf5200
[   21.275694] x8 : ffffff80020b46c0 x7 : ffffff80010a8ed0 x6 : 0000000000000000
[   21.282838] x5 : 00000000000013f8 x4 : 0000000000000000 x3 : ffffff8005451c00
[   21.289983] x2 : 0000000000000000 x1 : ffffff8005451c00 x0 : 0000000000000000
[   21.297128] Call trace:
[   21.299575]  phy_detach+0xe8/0x194
[   21.302988]  phylink_fwnode_phy_connect+0x194/0x1c0
[   21.307874]  phylink_of_phy_connect+0x18/0x20
[   21.312248]  airoha_dev_open+0x44/0x2b0
[   21.316094]  __dev_open+0xe8/0x15c
[   21.319505]  __dev_change_flags+0x154/0x1c0
[   21.323698]  dev_change_flags+0x20/0x64
[   21.327541]  dev_ifsioc+0x28c/0x444
[   21.331032]  dev_ioctl+0x290/0x4b8
[   21.334434]  sock_ioctl+0x31c/0x444
[   21.337923]  __arm64_sys_ioctl+0x354/0xe60
[   21.342020]  invoke_syscall.constprop.0+0x58/0xec
[   21.346725]  do_el0_svc+0x3c/0xd4
[   21.350041]  el0_svc+0x18/0x60
[   21.353097]  el0t_64_sync_handler+0x118/0x124
[   21.357455]  el0t_64_sync+0x150/0x154

Make sure the phydev have a driver before asserting a signal or we would
dereference a NULL address.

Signed-off-by: Balázs Triszka <info@balika011.hu>
[ improve commit description ]
Link: https://github.com/openwrt/openwrt/pull/20740
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-20 23:04:04 +01:00
..
airoha airoha: fix PHY_DETACH_NO_HW_RESET patch panic 2025-11-20 23:04:04 +01:00
apm821xx apm821xx: fix pcie node numbers 2025-11-18 13:15:12 +01:00
armsr armsr: Make kernel modules depend on target 2025-07-26 01:11:21 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
ath79 ath79: fix MAC addresses on MikroTik RB962UiGS-5HacT2HnT 2025-11-15 11:15:29 +01:00
bcm27xx kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
bcm47xx bcm47xx: 6:12: refresh patches 2025-11-17 21:48:55 +01:00
bcm53xx bcm53xx: add 6.12 testing kernel 2025-11-18 12:49:25 +01:00
bcm4908 bcm4908: add 6.12 testing kernel 2025-11-17 21:50:53 +01:00
bmips kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet kernel: bump 6.12 to 6.12.52 2025-10-22 23:35:45 +02:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
imx kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
ipq40xx kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
ipq806x ipq806x: drop support for kernel 6.6 2025-11-04 19:31:07 +01:00
ixp4xx ixp4xx: Add back Actiontec MI424WR A/C/D 2025-09-26 23:40:40 +02:00
kirkwood kirkwood: kernel: remove 6.6 version support 2025-11-09 22:55:44 +01:00
lantiq kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
layerscape layerscape: remove 6.6 kernel files 2025-11-04 23:19:28 +01:00
loongarch64 loongarch64: switch to Linux 6.12 by default 2025-09-09 00:10:31 +02:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: add uqmi to RUTC50 default packages 2025-11-18 20:42:09 +01:00
mpc85xx mpc85xx: refresh kernel patch 2025-11-20 10:26:07 +01:00
mvebu kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon treewide: replace numbers with GPIO_ACTIVE 2025-10-08 14:26:24 +02:00
omap omap: enable 6.12 testing kernel 2025-08-22 20:18:16 +02:00
pistachio treewide: reset-gpio to reset-gpios 2025-10-08 14:26:24 +02:00
qoriq qoriq: enable 6.12 testing kernel 2025-11-18 19:29:27 +02:00
qualcommax kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
qualcommbe qualcommbe: support 10g-qxgmii in QCA8084 PHY driver 2025-11-11 17:21:54 +01:00
ramips kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
realtek kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
rockchip rockchip: LinkEase EasePi R1 use dedicated uboot 2025-11-20 22:24:11 +01:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower siflower: add support for Linux 6.12 2025-11-19 20:57:33 +01:00
starfive kernel: bump 6.12 to 6.12.58 2025-11-20 21:30:26 +01:00
stm32 stm32: drop kernel 6.6 support 2025-10-22 14:56:15 +02:00
sunxi sunxi: cortexa53: refresh kernel config 2025-10-20 00:48:11 +02:00
tegra tegra: promote kernel 6.12 as default 2025-11-11 21:23:14 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86/64: enable 8250_DW 2025-10-10 10:32:20 +02:00
zynq zynq: add 6.12 testing kernel 2025-11-18 12:47:54 +01:00
Makefile