aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-08-22 03:55:36 -0400
committerTakashi Iwai <tiwai@suse.de>2013-08-22 17:22:39 -0400
commit2ca320e294a738c9134a71b5029de05edbfc7aad (patch)
tree69e69bfbef1b83b2381c944e6721415927684d73 /sound
parentd3d3835ce919438c00c5d1270d6f9d6ffea59d03 (diff)
ALSA: hda - Fix NULL dereference with CONFIG_SND_DYNAMIC_MINORS=n
Without the dynamic minor assignment, HDMI codec may have less PCM instances than the number of pins, which eventually leads to Oops. Reported-by: Stratos Karafotis <stratosk@semaphore.gr> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_hdmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 030ca8652a1c..9f3586276871 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1781,6 +1781,9 @@ static int generic_hdmi_build_controls(struct hda_codec *codec)
1781 struct snd_pcm_chmap *chmap; 1781 struct snd_pcm_chmap *chmap;
1782 struct snd_kcontrol *kctl; 1782 struct snd_kcontrol *kctl;
1783 int i; 1783 int i;
1784
1785 if (!codec->pcm_info[pin_idx].pcm)
1786 break;
1784 err = snd_pcm_add_chmap_ctls(codec->pcm_info[pin_idx].pcm, 1787 err = snd_pcm_add_chmap_ctls(codec->pcm_info[pin_idx].pcm,
1785 SNDRV_PCM_STREAM_PLAYBACK, 1788 SNDRV_PCM_STREAM_PLAYBACK,
1786 NULL, 0, pin_idx, &chmap); 1789 NULL, 0, pin_idx, &chmap);