projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
eaa27e7
)
ASoC: codecs: rt298: Fix NULL jack in interrupt
author
Amadeusz Sławiński
<amadeuszx.slawinski@linux.intel.com>
Thu, 7 Jul 2022 12:56:57 +0000
(14:56 +0200)
committer
Mark Brown
<broonie@kernel.org>
Mon, 11 Jul 2022 13:59:06 +0000
(14:59 +0100)
Set rt298->jack to passed value in mic_detect, otherwise when jack is
set to NULL on next interrupt call, we may use freed pointer.
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link:
https://lore.kernel.org/r/20220707125701.3518263-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt298.c
patch
|
blob
|
history
diff --git
a/sound/soc/codecs/rt298.c
b/sound/soc/codecs/rt298.c
index 266a2cc55b8d69340d2070e97aa57b84a536204d..6a615943f9835757a8558602bc16dfce5bbfcf06 100644
(file)
--- a/
sound/soc/codecs/rt298.c
+++ b/
sound/soc/codecs/rt298.c
@@
-335,6
+335,8
@@
static int rt298_mic_detect(struct snd_soc_component *component,
bool mic = false;
int status = 0;
+ rt298->jack = jack;
+
/* If jack in NULL, disable HS jack */
if (!jack) {
regmap_update_bits(rt298->regmap, RT298_IRQ_CTRL, 0x2, 0x0);
@@
-344,7
+346,6
@@
static int rt298_mic_detect(struct snd_soc_component *component,
return 0;
}
- rt298->jack = jack;
regmap_update_bits(rt298->regmap, RT298_IRQ_CTRL, 0x2, 0x2);
rt298_jack_detect(rt298, &hp, &mic);