ALSA: hda/jack - Fix NULL-dereference at probing
At probing time, the elements that aren't assigned to kctl or jack may be called. Need proper NULL-checks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
d1cb620081
Коммит
cfc7c9d307
|
@ -194,6 +194,8 @@ void snd_hda_jack_report_sync(struct hda_codec *codec)
|
||||||
for (i = 0; i < codec->jacktbl.used; i++, jack++)
|
for (i = 0; i < codec->jacktbl.used; i++, jack++)
|
||||||
if (jack->nid) {
|
if (jack->nid) {
|
||||||
jack_detect_update(codec, jack);
|
jack_detect_update(codec, jack);
|
||||||
|
if (!jack->kctl)
|
||||||
|
continue;
|
||||||
state = get_jack_plug_state(jack->pin_sense);
|
state = get_jack_plug_state(jack->pin_sense);
|
||||||
snd_kctl_jack_report(codec->bus->card, jack->kctl, state);
|
snd_kctl_jack_report(codec->bus->card, jack->kctl, state);
|
||||||
}
|
}
|
||||||
|
@ -356,7 +358,7 @@ void snd_hda_input_jack_report(struct hda_codec *codec, hda_nid_t nid)
|
||||||
unsigned int present;
|
unsigned int present;
|
||||||
int type;
|
int type;
|
||||||
|
|
||||||
if (!jack)
|
if (!jack || !jack->jack)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
present = snd_hda_jack_detect(codec, nid);
|
present = snd_hda_jack_detect(codec, nid);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче