This is a note to let you know that I've just added the patch titled

    ASoC: Handle low measured DC offsets for wm_hubs devices

to the 2.6.36-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-handle-low-measured-dc-offsets-for-wm_hubs-devices.patch
and it can be found in the queue-2.6.36 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 20a4e7fc7e213365ea3771d7bf1e10a6bab853be Mon Sep 17 00:00:00 2001
From: Mark Brown <[email protected]>
Date: Fri, 21 Jan 2011 12:47:33 +0000
Subject: ASoC: Handle low measured DC offsets for wm_hubs devices

From: Mark Brown <[email protected]>

commit 20a4e7fc7e213365ea3771d7bf1e10a6bab853be upstream.

The DC servo codes are actually signed numbers so need to be treated as
such.

Signed-off-by: Mark Brown <[email protected]>
Acked-by: Liam Girdwood <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 sound/soc/codecs/wm_hubs.c |   15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -92,6 +92,7 @@ static void wait_for_dc_servo(struct snd
 static void calibrate_dc_servo(struct snd_soc_codec *codec)
 {
        struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);
+       s8 offset;
        u16 reg, reg_l, reg_r, dcs_cfg;
 
        /* Set for 32 series updates */
@@ -130,16 +131,14 @@ static void calibrate_dc_servo(struct sn
                dev_dbg(codec->dev, "DCS input: %x %x\n", reg_l, reg_r);
 
                /* HPOUT1L */
-               if (reg_l + hubs->dcs_codes > 0 &&
-                   reg_l + hubs->dcs_codes < 0xff)
-                       reg_l += hubs->dcs_codes;
-               dcs_cfg = reg_l << WM8993_DCS_DAC_WR_VAL_1_SHIFT;
+               offset = reg_l;
+               offset += hubs->dcs_codes;
+               dcs_cfg = (u8)offset << WM8993_DCS_DAC_WR_VAL_1_SHIFT;
 
                /* HPOUT1R */
-               if (reg_r + hubs->dcs_codes > 0 &&
-                   reg_r + hubs->dcs_codes < 0xff)
-                       reg_r += hubs->dcs_codes;
-               dcs_cfg |= reg_r;
+               offset = reg_r;
+               offset += hubs->dcs_codes;
+               dcs_cfg |= (u8)offset;
 
                dev_dbg(codec->dev, "DCS result: %x\n", dcs_cfg);
 


Patches currently in stable-queue which might be from 
[email protected] are

queue-2.6.36/asoc-when-disabling-wm8994-fll-force-a-source-selection.patch
queue-2.6.36/asoc-create-an-aif1adcdat-signal-widget-to-match-aif2.patch
queue-2.6.36/asoc-wm8994-fix-wrong-value-in-tristate-function.patch
queue-2.6.36/asoc-handle-low-measured-dc-offsets-for-wm_hubs-devices.patch
queue-2.6.36/asoc-blackfin-tdm-fix-missed-snd_soc_dai_get_drvdata-update.patch
queue-2.6.36/asoc-wm8990-msleep-takes-milliseconds-not-jiffies.patch
queue-2.6.36/asoc-blackfin-ac97-fix-build-error-after-multi-component-update.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to