summaryrefslogtreecommitdiffstats
path: root/drivers/extcon/extcon-arizona.c
diff options
context:
space:
mode:
authorCharles Keepax2015-06-25 17:47:02 +0200
committerChanwoo Choi2015-08-10 04:48:56 +0200
commit57f70ef9bd19378b51a282be6b46b45b70d4980d (patch)
treebd15ae80140e9e9af9b7897328b66e0798d698ac /drivers/extcon/extcon-arizona.c
parentextcon: Add exception handling to prevent the NULL pointer access (diff)
downloadkernel-qcow2-linux-57f70ef9bd19378b51a282be6b46b45b70d4980d.tar.gz
kernel-qcow2-linux-57f70ef9bd19378b51a282be6b46b45b70d4980d.tar.xz
kernel-qcow2-linux-57f70ef9bd19378b51a282be6b46b45b70d4980d.zip
extcon: arizona: Declare 3-pole jack if we detect open circuit on mic
Detecting an open-circuit on the microphone pin, usually means the headset has a microphone but the cable is faulty. Currently the code will simply stop detecting and declare nothing in this situation. It is better to declare this as headphones such that the user can still use their headset as plain headphones even if the microphone is faulty. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/extcon/extcon-arizona.c')
-rw-r--r--drivers/extcon/extcon-arizona.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 2336de66f442..eaf0644b5506 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -829,7 +829,10 @@ static void arizona_micd_detect(struct work_struct *work)
/* Due to jack detect this should never happen */
if (!(val & ARIZONA_MICD_STS)) {
dev_warn(arizona->dev, "Detected open circuit\n");
+ info->mic = false;
+ arizona_stop_mic(info);
info->detecting = false;
+ arizona_identify_headphone(info);
goto handled;
}