|
@@ -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);
|