Lima crash if started too early
I'm experiencing a kernel crash on boot with Fedora 33 aarch64 userspace (before even entering graphical target). This is on AML-S805X-AC (lafrite).
My current workaround is to delay the load of the lima kernel module after the initramfs switched to rootfs (or before the meson stack is fully loaded). I'm using rd.driver.blacklist=lima with dracut (to create the initramfs) which delays the load of lima after switch_root. (there I'm not experiencing a crash).
Worth to notice that I've recently added meson_dw_hdmi by default into the initramfs. (and lima also is).
I expect some race condition when lima is loaded before the meson stack is available...
[ 8.253493] meson-dw-hdmi c883a000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[ 8.256032] Internal error: synchronous external abort: 96000210 [#1] SMP
[ 8.262411] Modules linked in: ulpi dwmac_generic meson_gxl udc_core mmc_block meson_dw_hdmi(+) dw_hdmi meson_drm dwmac_meson8b stmmac_platform drm_kms_helper stmmac syscopyarea lima(+) sysfillrect sysimgblt fb_sys_fops mdio_xpcs gpu_sched cec phylink mdio_mux_mmioreg mdio_mux dwc3_meson_g12a phy_meson_gxl_usb2 meson_gx_mmc roles meson_canvas display_connector crct10dif_ce drm arm_scpi ghash_ce aes_neon_bs(E)
[ 8.298415] CPU: 2 PID: 382 Comm: systemd-udevd Tainted: G E 5.8.18-300.fc33.aarch64 #1
[ 8.307599] Hardware name: libre-computer aml-s805x-ac/aml-s805x-ac, BIOS 2020.07+ 08/19/2020
[ 8.316054] pstate: 60400085 (nZCv daIf +PAN -UAO BTYPE=--)
[ 8.321595] pc : lima_pp_irq_handler+0x30/0xb4 [lima]
[ 8.326582] lr : __free_irq+0x250/0x380
[ 8.330367] sp : ffff8000102db9c0
[ 8.333644] x29: ffff8000102db9c0 x28: ffff7f1ae9cca080
[ 8.338904] x27: ffffb82525063008 x26: 0000000000000000
[ 8.344165] x25: ffff7f1afc391c18 x24: ffff7f1afc391c94
[ 8.349427] x23: 000000000000001f x22: ffff7f1afc391d48
[ 8.354688] x21: ffff7f1afc4cd268 x20: ffff7f1afc391800
[ 8.359949] x19: ffff7f1afc4cd080 x18: 0000000000000000
[ 8.365209] x17: 0000000000000000 x16: ffffb8252444b160
[ 8.370471] x15: 0000000000000004 x14: ffffb82513a638e0
[ 8.375733] x13: ff00000000000000 x12: ffffffffffffffff
[ 8.380994] x11: 0000000000000038 x10: 0000000040040000
[ 8.386255] x9 : ffffb825242bfd80 x8 : ffffffffffffffe0
[ 8.391516] x7 : ffffffffffffffff x6 : 0000000000000014
[ 8.396778] x5 : 0000000000000001 x4 : 0000000000000000
[ 8.402039] x3 : 0000000000000018 x2 : ffff8000105cd02c
[ 8.407300] x1 : 000000000000102c x0 : ffff7f1afc4cd268
[ 8.412562] Call trace:
[ 8.415000] lima_pp_irq_handler+0x30/0xb4 [lima]
[ 8.419645] __free_irq+0x250/0x380
[ 8.423088] free_irq+0x40/0x90
[ 8.426192] devm_irq_release+0x24/0x30
[ 8.429989] release_nodes+0x94/0xe0
[ 8.433526] devres_release_all+0x44/0xcc
[ 8.437493] really_probe+0x1e4/0x4a0
[ 8.441115] driver_probe_device+0xe4/0x100
[ 8.445253] device_driver_attach+0xcc/0xd4
[ 8.449393] __driver_attach+0xb0/0x17c
[ 8.453188] bus_for_each_dev+0x6c/0xb0
[ 8.456982] driver_attach+0x30/0x40
[ 8.460517] bus_add_driver+0x154/0x250
[ 8.464313] driver_register+0x84/0x140
[ 8.468108] __platform_driver_register+0x54/0x60
[ 8.472789] lima_platform_driver_init+0x30/0x1000 [lima]
[ 8.478120] do_one_initcall+0x40/0x204
[ 8.481910] do_init_module+0x60/0x270
[ 8.485619] load_module+0x5f8/0x7a0
[ 8.489152] __do_sys_init_module+0xb0/0x120
[ 8.493380] __arm64_sys_init_module+0x28/0x34
[ 8.497780] el0_svc_common.constprop.0+0x7c/0x184
[ 8.502524] do_el0_svc+0x30/0x9c
[ 8.505803] el0_sync_handler+0x90/0x1ec
[ 8.509680] el0_sync+0x17c/0x180
[ 8.512965] Code: f9400822 f9400033 d2820581 8b010042 (b9400041)
[ 8.519000] ---[ end trace 86f06876727f8b09 ]---