]> git.hungrycats.org Git - linux/commitdiff
drm/dp/mst: Handle errors from drm_atomic_get_private_obj_state() correctly
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 12 Jul 2017 15:51:00 +0000 (18:51 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Sep 2017 15:39:24 +0000 (17:39 +0200)
commit 56a91c4932bd038f3d1f6555ddc349ca4e6933b0 upstream.

On failure drm_atomic_get_private_obj_state() returns and error
pointer instead of NULL. Adjust the checks in the callers to match.

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: edb1ed1ab7d3 ("drm/dp: Add DP MST helpers to atomically find and release vcpi slots")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170712155102.26276-1-ville.syrjala@linux.intel.com
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/drm_dp_mst_topology.c

index ae5f068955628248fe027f3e88df8ce84ce07de7..da2745b3d0a74c3b5beaf4a19c8e0d4776d4e3b3 100644 (file)
@@ -2540,8 +2540,8 @@ int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
        int req_slots;
 
        topology_state = drm_atomic_get_mst_topology_state(state, mgr);
-       if (topology_state == NULL)
-               return -ENOMEM;
+       if (IS_ERR(topology_state))
+               return PTR_ERR(topology_state);
 
        port = drm_dp_get_validated_port_ref(mgr, port);
        if (port == NULL)
@@ -2580,8 +2580,8 @@ int drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
        struct drm_dp_mst_topology_state *topology_state;
 
        topology_state = drm_atomic_get_mst_topology_state(state, mgr);
-       if (topology_state == NULL)
-               return -ENOMEM;
+       if (IS_ERR(topology_state))
+               return PTR_ERR(topology_state);
 
        /* We cannot rely on port->vcpi.num_slots to update
         * topology_state->avail_slots as the port may not exist if the parent