[PATCH 4/6] drm/amd/amdgpu: Check stream in amdgpu_dm_commit_planes

Kazlauskas, Nicholas Nicholas.Kazlauskas at amd.com
Tue Jun 25 18:45:05 UTC 2019


On 6/24/19 11:15 AM, Ernst Sjöstrand wrote:
> Reported by smatch:
> amdgpu_dm.c:5637 amdgpu_dm_commit_planes() error: we previously assumed 'acrtc_state->stream' could be null
> This seems to be checked for null pretty consistently elsewhere.
> 
> Signed-off-by: Ernst Sjöstrand <ernstp at gmail.com>

This is already reviewed and merged, but this NULL check is actually 
unnecessary. This function doesn't run in the new_crtc_state->stream is 
NULL.

Technically the behavior does change inside 
dc_commit_updates_for_stream. We don't actually deference the stream 
anywhere as far as I can tell, but we do an prepare/optimize bandwidth 
and a state swap. The missing state swap would matter here, but once 
again, we don't actually run this function at all.

All these checks should probably just be dropped.

Nicholas Kazlauskas

> ---
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 58d7bbc5ada7..360b31a5c028 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -5669,7 +5669,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
>   	}
>   
>   	/* Update the planes if changed or disable if we don't have any. */
> -	if (planes_count || acrtc_state->active_planes == 0) {
> +	if ((planes_count || acrtc_state->active_planes == 0) &&
> +		acrtc_state->stream) {
>   		if (new_pcrtc_state->mode_changed) {
>   			bundle->stream_update.src = acrtc_state->stream->src;
>   			bundle->stream_update.dst = acrtc_state->stream->dst;
> 



More information about the amd-gfx mailing list