diff options
author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2021-10-25 13:22:58 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-10-25 13:38:24 +0200 |
commit | 2003c44e28ac9759200a78dda20c5f695949e3f4 (patch) | |
tree | 520a265a25e2df821f0fd109deb3e958c54e073b /sound/soc/codecs/cs42l42.h | |
parent | ASoC: wm8962: Convert to devm_clk_get_optional() (diff) | |
download | linux-2003c44e28ac9759200a78dda20c5f695949e3f4.tar.xz linux-2003c44e28ac9759200a78dda20c5f695949e3f4.zip |
ASoC: cs42l42: Prevent NULL pointer deref in interrupt handler
The interrupt handling code was getting the struct device* from a
struct snd_soc_component* stored in struct cs42l42_private. If the
interrupt was asserted before ASoC calls component_probe() the
snd_soc_component* will be NULL.
The stored snd_soc_component* is not actually used for anything other
than indirectly getting the struct device*. Remove it, and store the
struct device* in struct cs42l42_private.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211025112258.9282-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/cs42l42.h')
-rw-r--r-- | sound/soc/codecs/cs42l42.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/cs42l42.h b/sound/soc/codecs/cs42l42.h index dd4744de9e0a..f45bcc9a3a62 100644 --- a/sound/soc/codecs/cs42l42.h +++ b/sound/soc/codecs/cs42l42.h @@ -833,7 +833,7 @@ static const char *const cs42l42_supply_names[CS42L42_NUM_SUPPLIES] = { struct cs42l42_private { struct regmap *regmap; - struct snd_soc_component *component; + struct device *dev; struct regulator_bulk_data supplies[CS42L42_NUM_SUPPLIES]; struct gpio_desc *reset_gpio; struct completion pdn_done; |