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)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 13 Jul 2017 16:28:43 +0000 (19:28 +0300)
On failure drm_atomic_get_private_obj_state() returns and error
pointer instead of NULL. Adjust the checks in the callers to match.

Cc: stable@vger.kernel.org
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>
drivers/gpu/drm/drm_dp_mst_topology.c

index bfd237c15e76e8cfe9f3c78ffd555f42390a7d5e..18cecd94acb604027972deb602db5113724bd7a5 100644 (file)
@@ -2515,8 +2515,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)
@@ -2555,8 +2555,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