ASoC: codecs: rt298: Fix NULL jack in interrupt
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>
This commit is contained in:
parent
eaa27e7fe4
commit
9b6803ec1f
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user