ALSA: jack: don't report input event for phantom jack
There is no input_dev for phantom jack, we should not report
input event for it, otherwise, NULL pointer dereference error
will occur.
Fixes: 2ba2dfa1fc
('ALSA: hda - Update to use the new jack kctls method')
Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
12e180a27f
commit
6ed9495e22
1 changed files with 7 additions and 4 deletions
|
@ -339,6 +339,13 @@ void snd_jack_report(struct snd_jack *jack, int status)
|
|||
if (!jack)
|
||||
return;
|
||||
|
||||
list_for_each_entry(jack_kctl, &jack->kctl_list, list)
|
||||
snd_kctl_jack_report(jack->card, jack_kctl->kctl,
|
||||
status & jack_kctl->mask_bits);
|
||||
|
||||
if (!jack->input_dev)
|
||||
return;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(jack->key); i++) {
|
||||
int testbit = SND_JACK_BTN_0 >> i;
|
||||
|
||||
|
@ -357,10 +364,6 @@ void snd_jack_report(struct snd_jack *jack, int status)
|
|||
|
||||
input_sync(jack->input_dev);
|
||||
|
||||
list_for_each_entry(jack_kctl, &jack->kctl_list, list)
|
||||
snd_kctl_jack_report(jack->card, jack_kctl->kctl,
|
||||
status & jack_kctl->mask_bits);
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL(snd_jack_report);
|
||||
|
||||
|
|
Loading…
Reference in a new issue