Merge tag 'mtd/fixes-for-5.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / sound / soc / codecs / rt298.c
index 32cc9b6..c592c40 100644 (file)
@@ -267,11 +267,16 @@ static int rt298_jack_detect(struct rt298_priv *rt298, bool *hp, bool *mic)
                                msleep(300);
                                regmap_read(rt298->regmap,
                                        RT298_CBJ_CTRL2, &val);
-                               if (0x0070 == (val & 0x0070))
+                               if (0x0070 == (val & 0x0070)) {
                                        *mic = true;
-                               else
+                               } else {
                                        *mic = false;
+                                       regmap_update_bits(rt298->regmap,
+                                               RT298_CBJ_CTRL1,
+                                               0xfcc0, 0xc400);
+                               }
                        }
+
                        regmap_update_bits(rt298->regmap,
                                RT298_DC_GAIN, 0x200, 0x0);