Unverified Commit 9b6803ec authored by Amadeusz Sławiński's avatar Amadeusz Sławiński Committed by Mark Brown
Browse files

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: default avatarAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220707125701.3518263-2-amadeuszx.slawinski@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent eaa27e7f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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);