diff options
author | Trevor Wu <trevor.wu@mediatek.com> | 2021-09-15 06:46:59 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-09-15 15:12:29 +0300 |
commit | 6d66c5ccf5cb8af866fe2bb014098a3dd7bfa3cc (patch) | |
tree | c4b1409a8cab7867466ccf757716148316bb4255 /sound/soc/codecs/mt6359.c | |
parent | 96ec1741067dd73c6061c8f6ec1e9976aee5337b (diff) | |
download | linux-6d66c5ccf5cb8af866fe2bb014098a3dd7bfa3cc.tar.xz |
ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flow
mt6359-sound is a MFD driver. Because its regmap is retrieved from its
parent, it shouldn't be freed in mt6359-sound driver.
snd_soc_component_exit_regmap() will do regmap_exit(), this results in
unexpected results if sound card unregister flow is invoked when users
try to bind/unbind audio codec.
Remove the usage of snd_soc_component_exit_regmap(). Instead, set
component->regmap = NULL in the component remove function.
Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Link: https://lore.kernel.org/r/20210915034659.25044-1-trevor.wu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/mt6359.c')
-rw-r--r-- | sound/soc/codecs/mt6359.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/codecs/mt6359.c b/sound/soc/codecs/mt6359.c index 2d6a4a29b850..f8532aa7e4aa 100644 --- a/sound/soc/codecs/mt6359.c +++ b/sound/soc/codecs/mt6359.c @@ -2697,7 +2697,7 @@ static int mt6359_codec_probe(struct snd_soc_component *cmpnt) static void mt6359_codec_remove(struct snd_soc_component *cmpnt) { - snd_soc_component_exit_regmap(cmpnt); + cmpnt->regmap = NULL; } static const DECLARE_TLV_DB_SCALE(hp_playback_tlv, -2200, 100, 0); |