openwrt/target/linux/ipq40xx
John Thomson 515ad3ce8a ipq40xx: ipqess: do not free ipqess_init
If this function is marked as __init, kernel will splat when driver is
(re)bind
echo "c080000.ethernet">/sys/bus/platform/drivers/ipqess-edma/unbind
echo "c080000.ethernet">/sys/bus/platform/drivers/ipqess-edma/bind

Example with additional print messages, functions at boot:
[    2.039468] ipqess-edma c080000.ethernet: ipqess_axi_probe pre register_netdev
[    2.039530] ipqess-edma c080000.ethernet: *netdev: c27d2000
[    2.045609] ipqess-edma c080000.ethernet: &ipqess_init: c0d1e28c
[    2.051122] ipqess_init
[    2.057338] netdev: c27d2000
[    2.059492] ess = netdev_priv: c27d2500
[    2.062615] ess->pdev: c2138c00
[    2.066174] ess->pdev->dev: c2138c10
[    2.069314] ess->pdev->dev.of_node: ef6f6368
[    2.073120] ess->pdev->dev.of_node: /soc/ethernet@c080000

fails (bind) after unbind:
[   34.987948] ipqess-edma c080000.ethernet: ipqess_axi_probe pre register_netdev
[   34.988012] ipqess-edma c080000.ethernet: *netdev: c27d6000
[   34.994088] ipqess-edma c080000.ethernet: &ipqess_init: c0d1e28c
[   34.999652] 8<--- cut here ---
[   35.005802] Unable to handle kernel paging request at virtual address c0d1e28c when execute
[   35.008676] [c0d1e28c] *pgd=80c1941e(bad)
[   35.016918] Internal error: Oops: 8000000d [#1] SMP ARM

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Link: https://github.com/openwrt/openwrt/pull/15831
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-06-30 11:07:02 +02:00
..
base-files ipq40xx: fix invalid GPIO numbers since kernel 6.6 2024-06-12 14:25:56 +02:00
chromium ipq40xx: cut ath10k board file for mikrotik subtarget 2022-05-27 14:15:09 +02:00
files-6.6/arch/arm/boot/dts/qcom treewide: gpio to gpios 2024-06-17 12:57:06 +02:00
generic ipq40xx: cut ath10k board file for mikrotik subtarget 2022-05-27 14:15:09 +02:00
image ipq40xx: fix broken image generation for EX6150v2 2024-06-08 02:09:15 +02:00
mikrotik generic: platform/mikrotik: add NVMEM layout driver 2024-06-20 15:53:55 +02:00
patches-6.6 ipq40xx: ipqess: do not free ipqess_init 2024-06-30 11:07:02 +02:00
config-6.6 ipq40xx: use NVMEM-on-UBI for ASUS RT-AC58U 2024-06-05 13:46:00 +01:00
Makefile ipq40xx: switch default to 6.6 2024-04-26 12:30:01 +02:00