ASoC: sta32x: set ->component pointer in private struct
authorDaniel Mack <daniel@zonque.org>
Thu, 11 Oct 2018 18:32:05 +0000 (20:32 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 12 Oct 2018 16:48:40 +0000 (18:48 +0200)
The ESD watchdog code in sta32x_watchdog() dereferences the pointer
which is never assigned.

This is a regression from a1be4cead9b950 ("ASoC: sta32x: Convert to direct
regmap API usage.") which went unnoticed since nobody seems to use that ESD
workaround.

Fixes: a1be4cead9b950 ("ASoC: sta32x: Convert to direct regmap API usage.")
Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
sound/soc/codecs/sta32x.c

index d5035f2f2b2ba727329570003d7d13a3c42d93d4..ce508b4cc85c9165012e13d821a3ded2dbfe903b 100644 (file)
@@ -879,6 +879,9 @@ static int sta32x_probe(struct snd_soc_component *component)
        struct sta32x_priv *sta32x = snd_soc_component_get_drvdata(component);
        struct sta32x_platform_data *pdata = sta32x->pdata;
        int i, ret = 0, thermal = 0;
+
+       sta32x->component = component;
+
        ret = regulator_bulk_enable(ARRAY_SIZE(sta32x->supplies),
                                    sta32x->supplies);
        if (ret != 0) {