ASoC: cs42l43: Add clear of stashed pointer on component remove
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Fri, 2 Feb 2024 14:06:17 +0000 (14:06 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 5 Feb 2024 14:32:24 +0000 (14:32 +0000)
If the component is removed the stashed component pointer in the
CODECs private struct should also be cleared to prevent use of a stale
pointer.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240202140619.1068560-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs42l43.c

index 2c402086924d33418f10064b2fd333384574d92f..9e1deb3242cb292c20f2330a8bd221f71be33451 100644 (file)
@@ -2111,10 +2111,18 @@ static int cs42l43_component_probe(struct snd_soc_component *component)
        return 0;
 }
 
+static void cs42l43_component_remove(struct snd_soc_component *component)
+{
+       struct cs42l43_codec *priv = snd_soc_component_get_drvdata(component);
+
+       priv->component = NULL;
+}
+
 static const struct snd_soc_component_driver cs42l43_component_drv = {
        .name                   = "cs42l43-codec",
 
        .probe                  = cs42l43_component_probe,
+       .remove                 = cs42l43_component_remove,
        .set_sysclk             = cs42l43_set_sysclk,
        .set_jack               = cs42l43_set_jack,