Skip to content

Commit

Permalink
ALSA: hda - Check invalid NIDs in alc_init_jacks()
Browse files Browse the repository at this point in the history
The headphone and external-mic pin NIDs can be null, and the jack input
elements should be skipped in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Sep 21, 2010
1 parent 9e5341b commit 265a024
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions sound/pci/hda/patch_realtek.c
Original file line number Diff line number Diff line change
Expand Up @@ -1087,15 +1087,19 @@ static int alc_init_jacks(struct hda_codec *codec)
unsigned int hp_nid = spec->autocfg.hp_pins[0];
unsigned int mic_nid = spec->ext_mic.pin;

err = alc_add_jack(codec, hp_nid, SND_JACK_HEADPHONE);
if (err < 0)
return err;
alc_report_jack(codec, hp_nid);
if (hp_nid) {
err = alc_add_jack(codec, hp_nid, SND_JACK_HEADPHONE);
if (err < 0)
return err;
alc_report_jack(codec, hp_nid);
}

err = alc_add_jack(codec, mic_nid, SND_JACK_MICROPHONE);
if (err < 0)
return err;
alc_report_jack(codec, mic_nid);
if (mic_nid) {
err = alc_add_jack(codec, mic_nid, SND_JACK_MICROPHONE);
if (err < 0)
return err;
alc_report_jack(codec, mic_nid);
}

return 0;
}
Expand Down

0 comments on commit 265a024

Please sign in to comment.