Skip to contentSkip to conversation

ALSA: VIA HDA: Fix stereo mixer recording no sound issue

PATCH In review Lydia Wang 2 participants 3 messages Mar 22, 2011 Sound

lore
Share & tools
lore

Lydia Wang

author
#0 lore raw

PATCH 2/8 ALSA: VIA HDA: Fix stereo mixer recording no sound issue

From: Lydia Wang <[email protected]>
Subject: ALSA: VIA HDA: Fix stereo mixer recording no sound issue.

Modify function via_mux_enum_put() to fix stereo mixer recording no sound issue.

---
 sound/pci/hda/patch_via.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
sound/pci/hda/patch_via.c +6 -3
@@ -633,6 +633,7 @@
 	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
 	struct via_spec *spec = codec->spec;
 	unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
+	int ret;
 
 	if (!spec->mux_nids[adc_idx])
 		return -EINVAL;
@@ -641,12 +642,14 @@
 			       AC_VERB_GET_POWER_STATE, 0x00) != AC_PWRST_D0)
 		snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
 				    AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
-	/* update jack power state */
-	set_widgets_power_state(codec);
 
-	return snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
+	ret = snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
 				     spec->mux_nids[adc_idx],
 				     &spec->cur_mux[adc_idx]);
+	/* update jack power state */
+	set_widgets_power_state(codec);
+
+	return ret;
 }
 
 static int via_independent_hp_info(struct snd_kcontrol *kcontrol,
#1 lore raw

At Tue, 22 Mar 2011 14:29:09 +0800,

Quoted 8 lines · Lydia Wang

From: Lydia Wang <[email protected]>
Subject: ALSA: VIA HDA: Fix stereo mixer recording no sound issue.

Modify function via_mux_enum_put() to fix stereo mixer recording no sound issue.

Well, this kind of small but important fixes are basically independent from the previous power-management rewrite patch. So, these should be applied before the new pm patch, so that they can be picked up more easily for stable kernel. This is what I requested in the previous mail.

Of course, it assumes that the fix is applicable individually. For example, this patch can work even without pm-rewrite patch when you modify the patch content to fit with the old pm funciton call, right?

thanks,

Takashi

Quoted 33 lines
---
 sound/pci/hda/patch_via.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
sound/pci/hda/patch_via.c +6 -3
@@ -633,6 +633,7 @@
 	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
 	struct via_spec *spec = codec->spec;
 	unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
+	int ret;
 
 	if (!spec->mux_nids[adc_idx])
 		return -EINVAL;
@@ -641,12 +642,14 @@
 			       AC_VERB_GET_POWER_STATE, 0x00) != AC_PWRST_D0)
 		snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
 				    AC_VERB_SET_POWER_STATE, AC_PWRST_D0);
-	/* update jack power state */
-	set_widgets_power_state(codec);
 
-	return snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
+	ret = snd_hda_input_mux_put(codec, spec->input_mux, ucontrol,
 				     spec->mux_nids[adc_idx],
 				     &spec->cur_mux[adc_idx]);
+	/* update jack power state */
+	set_widgets_power_state(codec);
+
+	return ret;
 }
 
 static int via_independent_hp_info(struct snd_kcontrol *kcontrol,
#2 lore raw

At Tue, 22 Mar 2011 08:17:05 +0100,

Quoted 18 lines · Takashi Iwai

At Tue, 22 Mar 2011 14:29:09 +0800,

Quoted 8 lines · Lydia Wang

From: Lydia Wang <[email protected]>
Subject: ALSA: VIA HDA: Fix stereo mixer recording no sound issue.

Modify function via_mux_enum_put() to fix stereo mixer recording no sound issue.

Well, this kind of small but important fixes are basically independent from the previous power-management rewrite patch. So, these should be applied before the new pm patch, so that they can be picked up more easily for stable kernel. This is what I requested in the previous mail.

Quoted 4 lines

Of course, it assumes that the fix is applicable individually. For example, this patch can work even without pm-rewrite patch when you modify the patch content to fit with the old pm funciton call, right?

In other words, let's begin with the minimum patches for fixing known bugs for the already released kernels. Smaller is better in this case.

Then, on the top of that, apply more bigger patches including the code-refactoring.

thanks,

Takashi