diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 0626754d6e04..427a289f32a5 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -196,6 +196,8 @@ static irqreturn_t arizona_micdet(int irq, void *data)
 		if (info->jack_flips >= info->micd_num_modes) {
 			dev_dbg(arizona->dev, "Detected headphone\n");
 			info->detecting = false;
+			arizona_stop_mic(info);
+
 			ret = extcon_set_cable_state_(&info->edev,
 						      ARIZONA_CABLE_HEADPHONE,
 						      true);