sst: report correct jack event
The status of jack event is compared bitwise: [in sound/core/jack.c:snd_jack_report()] for (i = 0; i < ARRAY_SIZE(jack_switch_types); i++) { int testbit = 1 << i; if (jack->type & testbit) input_report_switch(jack->input_dev, jack_switch_types[i], status & testbit); } So in order to report the correct events, 3 should be passed instead of 1. Signed-off-by: Lu Guanqun <guanqun.lu@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0aee588945
commit
35b5ddb646
|
@ -1090,7 +1090,7 @@ static void nc_pmic_irq_cb(void *cb_data, u8 intsts)
|
|||
if (intsts & 0x1) {
|
||||
pr_debug("SST DBG:MAD headset detected\n");
|
||||
/* send headset detect/undetect */
|
||||
present = (value == 0x1) ? 1 : 0;
|
||||
present = (value == 0x1) ? 3 : 0;
|
||||
jack_event_flag = 1;
|
||||
mjack->jack.type = SND_JACK_HEADSET;
|
||||
hp_automute(SND_JACK_HEADSET, present);
|
||||
|
|
Loading…
Reference in New Issue