[PATCH] drm/radeon: properly initialize r600_audio_status() data

Christian König ckoenig.leichtzumerken at gmail.com
Sat Sep 16 12:20:21 UTC 2017


Am 15.09.2017 um 22:06 schrieb Arnd Bergmann:
> The structure returned from r600_audio_status() is only partially
> initialized, and older gcc versions (4.3 and 4.4) warn about this:
>
> drivers/gpu/drm/radeon/r600_hdmi.c: In function 'r600_audio_status':
> drivers/gpu/drm/radeon/r600_hdmi.c:108: error: 'status.id' is used uninitialized in this function
> drivers/gpu/drm/radeon/r600_hdmi.c:108: error: 'status.connected' is used uninitialized in this function
> drivers/gpu/drm/radeon/r600_hdmi.c:108: error: 'status.offset' is used uninitialized in this function
>
> This is harmless and surprisingly correct in C99, as the caller
> only accesses the fields that got initialized, so newer compilers
> don't warn about it, but initializing the entire structure feels
> like the right thing to do here and avoids the warning.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/radeon/r600_hdmi.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c
> index e82a99cb2459..ab32830c4e23 100644
> --- a/drivers/gpu/drm/radeon/r600_hdmi.c
> +++ b/drivers/gpu/drm/radeon/r600_hdmi.c
> @@ -58,7 +58,7 @@ enum r600_hdmi_iec_status_bits {
>   
>   static struct r600_audio_pin r600_audio_status(struct radeon_device *rdev)
>   {
> -	struct r600_audio_pin status;
> +	struct r600_audio_pin status = {};
>   	uint32_t value;
>   
>   	value = RREG32(R600_AUDIO_RATE_BPS_CHANNEL);




More information about the amd-gfx mailing list