The drm_bridge_funcs.atomic_reset documentation states that the hook
must return either a valid drm_bridge_state object or an ERR_PTR().

The cdns_dsi_bridge_atomic_reset() callback returns NULL when the
allocation of its state fails, violating this contract.

Return ERR_PTR(-ENOMEM) instead.

Fixes: a53d987756ea ("drm/bridge: cdns-dsi: Move DSI mode check to 
_atomic_check()")
Reviewed-by: Thomas Zimmermann <[email protected]>
Signed-off-by: Maxime Ripard <[email protected]>
---
 drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c 
b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
index cf90d4468b5c..344c3f466018 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
@@ -1013,11 +1013,11 @@ cdns_dsi_bridge_atomic_reset(struct drm_bridge *bridge)
 {
        struct cdns_dsi_bridge_state *dsi_state;
 
        dsi_state = kzalloc_obj(*dsi_state);
        if (!dsi_state)
-               return NULL;
+               return ERR_PTR(-ENOMEM);
 
        memset(dsi_state, 0, sizeof(*dsi_state));
        dsi_state->base.bridge = bridge;
 
        return &dsi_state->base;

-- 
2.54.0

Reply via email to