On 13/01/2023 06:23, Dmitry Baryshkov wrote:
On 13/01/2023 06:10, Bjorn Andersson wrote:
Invoking drm_bridge_hpd_notify() on a drm_bridge with a HPD-enabled
bridge_connector ends up in drm_bridge_connector_hpd_cb() calling
drm_kms_helper_hotplug_event(), which assumes that the associated
drm_device's mode_config.funcs is a valid pointer.
But in the MSM DisplayPort driver the HPD enablement happens at bind
time and mode_config.funcs is initialized late in msm_drm_init(). This
means that there's a window for hot plug events to dereference a NULL
mode_config.funcs.
Move the assignment of mode_config.funcs before the bind, to avoid this
scenario.
Cam we make DP driver not to report HPD events until the enable_hpd()
was called? I think this is what was fixed by your internal_hpd patchset.
Or to express this in another words: I thought that internal_hpd already
deferred enabling hpd event reporting till the time when we need it,
didn't it?
--
With best wishes
Dmitry