On 18/11/25 21:50, Maxime Ripard wrote:
On Tue, Nov 18, 2025 at 04:52:49PM +0200, Tomi Valkeinen wrote:
Hi,
On 18/11/2025 14:40, Maxime Ripard wrote:
Hi,
On Tue, Nov 18, 2025 at 05:22:49PM +0530, Harikrishna Shenoy wrote:
With the DBANC framework, the connector is no longer initialized in
bridge_attach() when the display controller sets the
DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
This causes a null pointer dereference in cdns_mhdp_modeset_retry_fn()
when trying to access &conn->dev->mode_config.mutex.
Observed on a board where EDID read failed.
(log: https://gist.github.com/Jayesh2000/233f87f9becdf1e66f1da6fd53f77429)
Patch 1 adds a connector_ptr which takes care of both
DBANC and !DBANC case by setting the pointer in appropriate hooks
and checking for pointer validity before accessing the connector.
Patch 2 adds mode validation hook to bridge fucntions.
Patch 3 fixes HDCP to work with both DBANC and !DBANC case by
moving HDCP state handling into the bridge atomic check in line with
the DBANC model.
Patches 4,5 do necessary cleanup and alignment for using
connector pointer.
It's mentioned several times in your series, and it might be obvious to
you, but documenting what is the "DBANC framework" is would be helpful.
I have no idea what it's about, and it appears that Google doesn't know
either.
Yes, I was a bit baffled initially. DRM_BRIDGE_ATTACH_NO_CONNECTOR.
Oooooh, thanks
I think it makes sense to only use "DBANC" if it's first introduced in
that patch. So don't have a patch that just uses "DBANC", even if the
previous patch did explain what it means. And if there's just one or two
"DBANC"s, just spell it out "DRM_BRIDGE_ATTACH_NO_CONNECTOR".
Yeah, I'd go even further. Acronyms are fun but something being obvious
is better still. Use the proper flag name every time.
Maxime
Hi Maxime,
Thanks for pointing this out, will resend the series replacing the
acronym with proper flag name.
Regards.