drm/amd/display: Check and log for function error codes
[WHAT & HOW] dm_dmub_hw_init and drm_dp_mst_topology_mgr_set_mst can return error codes and errors should be reported. This fixes 2 CHECKED_RETURN issues reported by Coverity. Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1302,6 +1302,7 @@ static void dm_dmub_hw_resume(struct amdgpu_device *adev)
|
||||
struct dmub_srv *dmub_srv = adev->dm.dmub_srv;
|
||||
enum dmub_status status;
|
||||
bool init;
|
||||
int r;
|
||||
|
||||
if (!dmub_srv) {
|
||||
/* DMUB isn't supported on the ASIC. */
|
||||
@@ -1319,7 +1320,9 @@ static void dm_dmub_hw_resume(struct amdgpu_device *adev)
|
||||
DRM_WARN("Wait for DMUB auto-load failed: %d\n", status);
|
||||
} else {
|
||||
/* Perform the full hardware initialization. */
|
||||
dm_dmub_hw_init(adev);
|
||||
r = dm_dmub_hw_init(adev);
|
||||
if (r)
|
||||
DRM_ERROR("DMUB interface failed to initialize: status=%d\n", r);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3795,6 +3795,7 @@ static int trigger_hpd_mst_set(void *data, u64 val)
|
||||
struct amdgpu_dm_connector *aconnector;
|
||||
struct drm_connector *connector;
|
||||
struct dc_link *link = NULL;
|
||||
int ret;
|
||||
|
||||
if (val == 1) {
|
||||
drm_connector_list_iter_begin(dev, &iter);
|
||||
@@ -3806,7 +3807,9 @@ static int trigger_hpd_mst_set(void *data, u64 val)
|
||||
dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD);
|
||||
mutex_unlock(&adev->dm.dc_lock);
|
||||
|
||||
drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, true);
|
||||
ret = drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, true);
|
||||
if (ret < 0)
|
||||
DRM_ERROR("DM_MST: Failed to set the device into MST mode!");
|
||||
}
|
||||
}
|
||||
} else if (val == 0) {
|
||||
|
||||
Reference in New Issue
Block a user