Re: hda_intel: too quiet sound (regression)

Takashi Iwai
2010-07-26T15:04:43Z

At Mon, 26 Jul 2010 16:42:34 +0200,
Jiri Slaby wrote:
>
> Hi,
>
> after I upgraded from 2.6.34-rc5-mm1 to 2.6.35-rc5-mm1 (there were other
> issues in between them), the sound from my soundcard is very very quiet.
>
> alsa-info:
> http://www.alsa-project.org/db/?f=dcadb29a2d5d047ecf5545792ac3239dc0c8c7f0
>
> Any ideas?

Looks like a regression by the amp max value check.
The following patch should fix the problem.

thanks,

Takashi

---
>From 7ccc3eface57b6e1773fce009dac8a3da081b8b1 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 26 Jul 2010 17:00:15 +0200
Subject: [PATCH] ALSA: hda - Fix max amp cap calculation for IDT/STAC codecs

The commit afbd9b8448f4b7d15673c6858012f384f18d28b8
ALSA: hda - Limit the amp value to write
introduced a regression for codec setups with amp offsets like IDT/STAC
codecs. The limit value should be a raw value without offset calculation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/hda_codec.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 501cbc4..e5c3484 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -1629,7 +1629,8 @@ update_amp_value(struct hda_codec *codec, hda_nid_t nid,

if (val > 0)
val += ofs;
- maxval = get_amp_max_value(codec, nid, dir, ofs);
+ /* ofs = 0: raw max value */
+ maxval = get_amp_max_value(codec, nid, dir, 0);
if (val > maxval)
val = maxval;
return snd_hda_codec_amp_update(codec, nid, ch, dir, idx,
--
1.7.2