Hi Andy, On 8/12/24 5:14 AM, Andy Yan wrote: > > Hi Cristian, > > At 2024-08-08 19:58:02, "Cristian Ciocaltea" <cristian.ciocaltea@xxxxxxxxxxxxx> wrote: >> Move rockchip_drm_platform_driver unregistration after its sub-drivers, >> which ensures all drivers are unregistered in the reverse order used >> when they were registered. > > Would you please provied some detail information about how to reproduce this > issue this patch try to fix?Or some kernel log when this issue triggered。 I submitted this patch while investigating a couple of issues encountered when tried to reload the rockchipdrm module. One was a system freeze, which eventually proved to have a different root cause and got fixed via [1]. The other one was a lockdep splat which seems to be caused by the switch to maple tree register cache in vop2 - I have a regmap workaround, not yet sure that's a proper fix. As of v6.11-rc1, reloading the module works fine, w/ or w/o this patch applied (ignoring the above mentioned splat). But I could only verify on Rock 3A, hence unregistering the drivers in the correct order should, at least, eliminate a potential source of unexpected behavior on the other boards. Regards, Cristian [1]: 9d42c3ee3ce3 ("arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu") >> Fixes: 8820b68bd378 ("drm/rockchip: Refactor the component match logic.") >> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx> >> --- >> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c >> index 44d769d9234d..ca7b07503fbe 100644 >> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c >> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c >> @@ -528,10 +528,9 @@ static int __init rockchip_drm_init(void) >> >> static void __exit rockchip_drm_fini(void) >> { >> - platform_driver_unregister(&rockchip_drm_platform_driver); >> - >> platform_unregister_drivers(rockchip_sub_drivers, >> num_rockchip_sub_drivers); >> + platform_driver_unregister(&rockchip_drm_platform_driver); >> } >> >> module_init(rockchip_drm_init); >> >> --- >> base-commit: 1eb586a9782cde8e5091b9de74603e0a8386b09e >> change-id: 20240702-rk-drm-fix-unreg-9f3f29996a00 >> -- >> Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx>