[PATCH 4.5 056/101] ALSA: hda - Fix broken reconfig

2016-05-16 Thread Greg Kroah-Hartman
4.5-stable review patch.  If anyone has any objections, please let me know.

--

From: Takashi Iwai 

commit addacd801e1638f41d659cb53b9b73fc14322cb1 upstream.

The HD-audio reconfig function got broken in the recent kernels,
typically resulting in a failure like:
  snd_hda_intel :00:1b.0: control 3:0:0:Playback Channel Map:0 is already 
present

This is because of the code restructuring to move the PCM and control
instantiation into the codec drive probe, by the commit [bcd96557bd0a:
ALSA: hda - Build PCMs and controls at codec driver probe].  Although
the commit above removed the calls of snd_hda_codec_build_pcms() and
*_build_controls() at the controller driver probe, the similar calls
in the reconfig were still left forgotten.  This caused the
conflicting and duplicated PCMs and controls.

The fix is trivial: just remove these superfluous calls from
reconfig_codec().

Fixes: bcd96557bd0a ('ALSA: hda - Build PCMs and controls at codec driver 
probe')
Reported-by: Jochen Henneberg 
Signed-off-by: Takashi Iwai 
Signed-off-by: Greg Kroah-Hartman 

---
 sound/pci/hda/hda_sysfs.c |8 
 1 file changed, 8 deletions(-)

--- a/sound/pci/hda/hda_sysfs.c
+++ b/sound/pci/hda/hda_sysfs.c
@@ -141,14 +141,6 @@ static int reconfig_codec(struct hda_cod
err = snd_hda_codec_configure(codec);
if (err < 0)
goto error;
-   /* rebuild PCMs */
-   err = snd_hda_codec_build_pcms(codec);
-   if (err < 0)
-   goto error;
-   /* rebuild mixers */
-   err = snd_hda_codec_build_controls(codec);
-   if (err < 0)
-   goto error;
err = snd_card_register(codec->card);
  error:
snd_hda_power_down(codec);




[PATCH 4.5 056/101] ALSA: hda - Fix broken reconfig

2016-05-16 Thread Greg Kroah-Hartman
4.5-stable review patch.  If anyone has any objections, please let me know.

--

From: Takashi Iwai 

commit addacd801e1638f41d659cb53b9b73fc14322cb1 upstream.

The HD-audio reconfig function got broken in the recent kernels,
typically resulting in a failure like:
  snd_hda_intel :00:1b.0: control 3:0:0:Playback Channel Map:0 is already 
present

This is because of the code restructuring to move the PCM and control
instantiation into the codec drive probe, by the commit [bcd96557bd0a:
ALSA: hda - Build PCMs and controls at codec driver probe].  Although
the commit above removed the calls of snd_hda_codec_build_pcms() and
*_build_controls() at the controller driver probe, the similar calls
in the reconfig were still left forgotten.  This caused the
conflicting and duplicated PCMs and controls.

The fix is trivial: just remove these superfluous calls from
reconfig_codec().

Fixes: bcd96557bd0a ('ALSA: hda - Build PCMs and controls at codec driver 
probe')
Reported-by: Jochen Henneberg 
Signed-off-by: Takashi Iwai 
Signed-off-by: Greg Kroah-Hartman 

---
 sound/pci/hda/hda_sysfs.c |8 
 1 file changed, 8 deletions(-)

--- a/sound/pci/hda/hda_sysfs.c
+++ b/sound/pci/hda/hda_sysfs.c
@@ -141,14 +141,6 @@ static int reconfig_codec(struct hda_cod
err = snd_hda_codec_configure(codec);
if (err < 0)
goto error;
-   /* rebuild PCMs */
-   err = snd_hda_codec_build_pcms(codec);
-   if (err < 0)
-   goto error;
-   /* rebuild mixers */
-   err = snd_hda_codec_build_controls(codec);
-   if (err < 0)
-   goto error;
err = snd_card_register(codec->card);
  error:
snd_hda_power_down(codec);