Hi

Am 30.05.26 um 16:00 schrieb Maxime Ripard:
The cdns-dsi bridge atomic_reset implementation is semantically an
atomic_create_state: it allocates and initializes a pristine state
without side effects.

However, it returns NULL on allocation failure instead of an error
pointer.

Switch to the atomic_create_state callback, rename the function
accordingly, and return ERR_PTR(-ENOMEM) on failure.

Signed-off-by: Maxime Ripard <[email protected]>
---
  drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c 
b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
index f4cf765f0be8..c3e466ded84a 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
@@ -1007,17 +1007,17 @@ cdns_dsi_bridge_atomic_destroy_state(struct drm_bridge 
*bridge,
kfree(dsi_state);
  }
static struct drm_bridge_state *
-cdns_dsi_bridge_atomic_reset(struct drm_bridge *bridge)
+cdns_dsi_bridge_atomic_create_state(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);

It might make sense to put this single fix to the beginning of the series and give it a Fixes tag. This is material for stable@, I'd say.

Best regards
Thomas

__drm_atomic_helper_bridge_state_init(&dsi_state->base, bridge); return &dsi_state->base;
  }
@@ -1026,11 +1026,11 @@ static const struct drm_bridge_funcs 
cdns_dsi_bridge_funcs = {
        .attach = cdns_dsi_bridge_attach,
        .mode_valid = cdns_dsi_bridge_mode_valid,
        .atomic_pre_enable = cdns_dsi_bridge_atomic_pre_enable,
        .atomic_post_disable = cdns_dsi_bridge_atomic_post_disable,
        .atomic_check = cdns_dsi_bridge_atomic_check,
-       .atomic_reset = cdns_dsi_bridge_atomic_reset,
+       .atomic_create_state = cdns_dsi_bridge_atomic_create_state,
        .atomic_duplicate_state = cdns_dsi_bridge_atomic_duplicate_state,
        .atomic_destroy_state = cdns_dsi_bridge_atomic_destroy_state,
        .atomic_get_input_bus_fmts = cdns_dsi_bridge_get_input_bus_fmts,
  };

--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)


Reply via email to