From b02fc6d6ed0e904603ee0cf1562136884ac4166a Mon Sep 17 00:00:00 2001 From: Shunhua Lan Date: Mon, 22 Feb 2021 01:55:23 +0000 Subject: [PATCH] rk_headset: sending media key up event if it's down when headset is out Signed-off-by: Shunhua Lan Change-Id: Ib98ec442fdca8710e00a3e1bfb7f565aa0f5a33a --- drivers/headset_observe/rk_headset_irq_hook_adc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/headset_observe/rk_headset_irq_hook_adc.c b/drivers/headset_observe/rk_headset_irq_hook_adc.c index 076d0665e358..ca3e0a6b7a94 100644 --- a/drivers/headset_observe/rk_headset_irq_hook_adc.c +++ b/drivers/headset_observe/rk_headset_irq_hook_adc.c @@ -192,7 +192,11 @@ static irqreturn_t headset_interrupt(int irq, void *dev_id) headset_info->cur_headset_status = HEADSET_OUT; cancel_delayed_work(&headset_info->hook_work); if (headset_info->isMic) { - headset_info->hook_status = HOOK_UP; + if (headset_info->hook_status == HOOK_DOWN) { + headset_info->hook_status = HOOK_UP; + input_report_key(headset_info->input_dev, HOOK_KEY_CODE, headset_info->hook_status); + input_sync(headset_info->input_dev); + } #ifdef CONFIG_SND_SOC_WM8994 //rt5625_headset_mic_detect(false); wm8994_headset_mic_detect(false);