Normally we do this in drm_mode_config_cleanup. But analogix dp's connector is allocated when binding, and would be freed after unbind.
So we need to destroy it when unbinding, to avoid further access. Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com> --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index ec47fc2..084ee8f 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1439,6 +1439,7 @@ void analogix_dp_unbind(struct device *dev, struct device *master, struct analogix_dp_device *dp = dev_get_drvdata(dev); analogix_dp_bridge_disable(dp->bridge); + dp->connector.funcs->destroy(&dp->connector); if (dp->plat_data->panel) { if (drm_panel_unprepare(dp->plat_data->panel)) -- 2.1.4