While unregistering the hdmi-codec, the hdmi device list must be cleaned up. It avoids kernel page fault when registering again the hdmi-codec. Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Jaroslav Kysela <perex@xxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxxx> Cc: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Cc: Jyri Sarha <jsarha@xxxxxx> Cc: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> --- sound/soc/codecs/hdmi-codec.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c index 90b5948..1ca405e 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c @@ -479,6 +479,18 @@ static int hdmi_codec_probe(struct platform_device *pdev) static int hdmi_codec_remove(struct platform_device *pdev) { + struct device *dev = &pdev->dev; + struct list_head *pos; + + list_for_each(pos, &hdmi_device_list) { + struct hdmi_device *tmp = pos_to_hdmi_device(pos); + + if (tmp->dev == dev->parent) { + list_del(pos); + break; + } + } + snd_soc_unregister_codec(&pdev->dev); return 0; } -- 2.7.4 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel