diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-09-03 14:03:21 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-09-11 11:44:25 -0400 |
commit | 7cc0a3d85b5d4acb69d60a88de0bd029bef04b4f (patch) | |
tree | 33b5f067f0ff85ed945a7d43232fb671fee0aff8 /drivers/gpu/drm | |
parent | 63580c3e48de1a35ec8847ea24f1acb5aef48608 (diff) |
drm/radeon/dce6/audio: make sure pin is valid before accessing it
Make sure the audio pin is valid before accessing its members.
Noticed by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/radeon/dce6_afmt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/dce6_afmt.c b/drivers/gpu/drm/radeon/dce6_afmt.c index 8953255e894b..3853dda797dd 100644 --- a/drivers/gpu/drm/radeon/dce6_afmt.c +++ b/drivers/gpu/drm/radeon/dce6_afmt.c | |||
@@ -86,12 +86,12 @@ void dce6_afmt_select_pin(struct drm_encoder *encoder) | |||
86 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); | 86 | struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
87 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; | 87 | struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; |
88 | u32 offset = dig->afmt->offset; | 88 | u32 offset = dig->afmt->offset; |
89 | u32 id = dig->afmt->pin->id; | ||
90 | 89 | ||
91 | if (!dig->afmt->pin) | 90 | if (!dig->afmt->pin) |
92 | return; | 91 | return; |
93 | 92 | ||
94 | WREG32(AFMT_AUDIO_SRC_CONTROL + offset, AFMT_AUDIO_SRC_SELECT(id)); | 93 | WREG32(AFMT_AUDIO_SRC_CONTROL + offset, |
94 | AFMT_AUDIO_SRC_SELECT(dig->afmt->pin->id)); | ||
95 | } | 95 | } |
96 | 96 | ||
97 | void dce6_afmt_write_speaker_allocation(struct drm_encoder *encoder) | 97 | void dce6_afmt_write_speaker_allocation(struct drm_encoder *encoder) |