Hi Vincent
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@gmail.com Cc: Mark Brown broonie@kernel.org Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: Kuninori Morimoto kuninori.morimoto.gx@renesas.com Cc: Jyri Sarha jsarha@ti.com Cc: Arnaud Pouliquen arnaud.pouliquen@st.com Cc: Philipp Zabel p.zabel@pengutronix.de
Signed-off-by: Vincent Abriou vincent.abriou@st.com
Thank you about this patch. I added original "hdmi_device_list" to this driver for DW-HDMI device purpose. But, actually, 1) DW-HDMI binding method was exchanged, 2) I assumed it will not be exchanged, and 3) this patch was accepted under such (wrong) assumption.
Thus, this "hdmi_device_list" is no longer needed. So, I'm planing to remove 9731f82d60166a19af6914f998092bbd1560f783 ("ASoC: hdmi-codec: enable multi probe for same device") and its related patch soon.
Can you agree about it ?
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@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel