diff options
author | Lu Guanqun <guanqun.lu@intel.com> | 2011-07-08 09:59:10 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-08 14:02:24 -0700 |
commit | 35b5ddb6466f66c511217abd8b3f490e759dae3e (patch) | |
tree | 1dc16b502e3a0d69e5fdd70bc4ab393613ef953e | |
parent | 0aee58894551d7a9992f79d77d89f5846eb5e938 (diff) | |
download | kernel_goldelico_gta04-35b5ddb6466f66c511217abd8b3f490e759dae3e.zip kernel_goldelico_gta04-35b5ddb6466f66c511217abd8b3f490e759dae3e.tar.gz kernel_goldelico_gta04-35b5ddb6466f66c511217abd8b3f490e759dae3e.tar.bz2 |
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>
-rw-r--r-- | drivers/staging/intel_sst/intelmid_v2_control.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/intel_sst/intelmid_v2_control.c b/drivers/staging/intel_sst/intelmid_v2_control.c index 000378a..46ab55e 100644 --- a/drivers/staging/intel_sst/intelmid_v2_control.c +++ b/drivers/staging/intel_sst/intelmid_v2_control.c @@ -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); |