
Hi,
On 09-01-19 10:29, Dan Carpenter wrote:
I think the correct fix is actually this (untested):
Right, I'm pretty sure the soc framework depends on dev_get_drvdata returning the snd_soc_card and I forgot about this when adding the remove function.
Wei Yongjun, thank you for catching this.
Dan, thank you for the correct version of the patch :)
Dan, can you do an official submission of the correct version of the patch, with a Reported-by: Wei Yongjun weiyongjun1@huawei.com or shall I submit your version upstream ?
Regards,
Hans
diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c index cdf2061e7613..fa9c4cf97686 100644 --- a/sound/soc/intel/boards/bytcht_es8316.c +++ b/sound/soc/intel/boards/bytcht_es8316.c @@ -544,7 +544,8 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
static int snd_byt_cht_es8316_mc_remove(struct platform_device *pdev) {
- struct byt_cht_es8316_private *priv = platform_get_drvdata(pdev);
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct byt_cht_es8316_private *priv = snd_soc_card_get_drvdata(card);
gpiod_put(priv->speaker_en_gpio); return 0;