lkml.org 
[lkml]   [2009]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 068/100] ALSA: hda - Fix the cmd cache keys for amp verbs
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: Takashi Iwai <tiwai@suse.de>

    upstream commit: fcad94a4c71c36a05f4d5c6dcb174534b4e0b136

    Fix the key value generation for get/set amp verbs. The upper bits of
    the parameter have to be combined with the verb value to be unique for
    each direction/index of amp access.

    This fixes the resume problem on some hardwares like Macbook after
    the channel mode is changed.

    Tested-by: Johannes Berg <johannes@sipsolutions.net>
    Cc: <stable@kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    ---
    sound/pci/hda/hda_codec.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    --- a/sound/pci/hda/hda_codec.c
    +++ b/sound/pci/hda/hda_codec.c
    @@ -2003,7 +2003,11 @@ int snd_hda_codec_write_cache(struct hda
    err = bus->ops.command(bus, res);
    if (!err) {
    struct hda_cache_head *c;
    - u32 key = build_cmd_cache_key(nid, verb);
    + u32 key;
    + /* parm may contain the verb stuff for get/set amp */
    + verb = verb | (parm >> 8);
    + parm &= 0xff;
    + key = build_cmd_cache_key(nid, verb);
    c = get_alloc_hash(&codec->cmd_cache, key);
    if (c)
    c->val = parm;


    \
     
     \ /
      Last update: 2009-04-23 09:55    [W:0.019 / U:43.240 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site