Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ALSA: hda: fix unregister device twice on ASoC driver
@ 2019-04-27 20:53 Bard liao
  2019-04-27 20:53 ` [PATCH 2/2] ASoC: hdac_hda: overwrite hdev type to HDA_DEV_ASOC Bard liao
  2019-04-29  7:12 ` [PATCH 1/2] ALSA: hda: fix unregister device twice on ASoC driver Takashi Iwai
  0 siblings, 2 replies; 4+ messages in thread
From: Bard liao @ 2019-04-27 20:53 UTC (permalink / raw)
  To: broonie, tiwai
  Cc: liam.r.girdwood, alsa-devel, pierre-louis.bossart, bard.liao

snd_hda_codec_device_new() is used by both legacy HDA and ASoC
driver. However, we will call snd_hdac_device_unregister() in
snd_hdac_ext_bus_device_remove() for ASoC device. This patch uses
the type flag in hdac_device struct to determine is it a ASoC device
or legacy HDA device and call snd_hdac_device_unregister() in
snd_hda_codec_dev_free() only if it is a legacy HDA device.

Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
---
 sound/pci/hda/hda_codec.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 701a69d856f5..b20eb7fc83eb 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -832,7 +832,13 @@ static int snd_hda_codec_dev_free(struct snd_device *device)
 	struct hda_codec *codec = device->device_data;
 
 	codec->in_freeing = 1;
-	snd_hdac_device_unregister(&codec->core);
+	/*
+	 * snd_hda_codec_device_new() is used by legacy HDA and ASoC driver.
+	 * We can't unregister ASoC device since it will be unregistered in
+	 * snd_hdac_ext_bus_device_remove().
+	 */
+	if (codec->core.type == HDA_DEV_LEGACY)
+		snd_hdac_device_unregister(&codec->core);
 	codec_display_power(codec, false);
 	put_device(hda_codec_dev(codec));
 	return 0;
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-04-29  7:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-27 20:53 [PATCH 1/2] ALSA: hda: fix unregister device twice on ASoC driver Bard liao
2019-04-27 20:53 ` [PATCH 2/2] ASoC: hdac_hda: overwrite hdev type to HDA_DEV_ASOC Bard liao
2019-04-29  7:12   ` Takashi Iwai
2019-04-29  7:12 ` [PATCH 1/2] ALSA: hda: fix unregister device twice on ASoC driver Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox