21 Aug, 2012

3 commits


20 Aug, 2012

9 commits

  • This is a series of fixes for CA0132, especially the missing SPDIF I/O
    and the mixer build errors.

    Takashi Iwai
     
  • It's possible that these amps are settable somehow, e g through
    secret codec verbs, but for now, don't create the controls (as
    they won't be working anyway, and cause errors in amixer).

    Cc: stable@kernel.org
    BugLink: https://bugs.launchpad.net/bugs/1038651
    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • Initialize ret before returning on failure, as done elsewhere in the
    function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Convert a nonnegative error return code to a negative one, as returned
    elsewhere in the function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Initialize rc before returning on failure, as done elsewhere in the
    function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Initialize err before returning on failure, as done elsewhere in the
    function.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • In the first case, the second test of whether retval is negative is
    redundant. It is dropped and the previous and subsequent tests are
    combined.

    In the second case, add an initialization of retval on failure of ioremap.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Initialize retval before returning from a failed call to ioremap.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    (
    if@p1 (\(ret < 0\|ret != 0\))
    { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
    when != &ret
    *if(...)
    {
    ... when != ret = e2
    when forall
    return ret;
    }

    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Speed comes from get_user() in audio_ioctl(). We use it to set the "s"
    variable before clamping it to valid values so it could lead to a divide
    by zero bug.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     

18 Aug, 2012

3 commits

  • The capture volume increases with the register value so it shouldn't be
    flagged as inverted.

    Reported-by: Christoph Fritz
    Signed-off-by: Mark Brown

    Mark Brown
     
  • Currently the microphone input source is not selectable as while there is
    a DAPM widget it's not connected to anything so it won't be properly
    instantiated. Add something more correct for the input structure to get
    things going, even though it's not hooked into the rest of the routing
    map and so won't actually achieve anything except allowing the relevant
    register bits to be written.

    Reported-by: Christop Fritz
    Signed-off-by: Mark Brown
    Cc: stable@vger.kernel.org

    Mark Brown
     
  • It will be removed from future device revisions.

    Signed-off-by: Mark Brown

    Mark Brown
     

16 Aug, 2012

2 commits

  • Instead of blindly initializing a volume knob widget, first check
    that there actually is a volume knob widget.

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • A PCM capture stream on usb-audio causes a scheduling-while-atomic
    BUG, as reported in the bugzilla entry below. It's because
    snd_usb_endpoint_start() is called at first at trigger START for a
    capture stream, and this function contains the left-over EP
    deactivation codes. The problem doesn't happen for a playback stream
    because the function is called at PCM prepare time, which can sleep.

    This patch fixes the BUG by moving the EP deactivation code into the
    PCM prepare callback.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46011
    Cc: [v3.5+]
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

14 Aug, 2012

3 commits


13 Aug, 2012

3 commits


11 Aug, 2012

1 commit

  • Fixes the following build error:
    In file included from arch/arm/mach-exynos/include/mach/dma.h:24:0,
    from arch/arm/plat-samsung/include/plat/dma-ops.h:17,
    from arch/arm/plat-samsung/include/plat/dma.h:128,
    from sound/soc/samsung/pcm.c:23:
    arch/arm/plat-samsung/include/plat/dma-pl330.h:106:8:
    error: redefinition of ‘struct s3c2410_dma_client’
    arch/arm/plat-samsung/include/plat/dma.h:40:8: note: originally defined here
    make[3]: *** [sound/soc/samsung/pcm.o] Error 1

    Signed-off-by: Sachin Kamat
    Signed-off-by: Sachin Kamat
    Acked-by: Kukjin Kim
    Signed-off-by: Mark Brown

    Sachin Kamat
     

10 Aug, 2012

5 commits

  • The return value of snd_hda_param_read() is -1 for an error, otherwise
    it's the supported power states of a codec.

    The supported power states is a 32-bit value. Bit 31 will be set to 1
    if the codec supports EPSS, thus making "sup" negative. And the bit
    28:5 is reserved as "0".
    So a negative value other than -1 shall be further checked.

    Please refer to High-Definition spec 7.3.4.12 "Supported Power
    States", thanks!

    Signed-off-by: Mengdong Lin
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     
  • When "Beep Playback Switch" had a different value on left and right
    channels (such as muting left but not right, or vice versa), this
    could result in the right channel being ignored.

    This patch enables beep to be sounding from right channel only, and
    also give correct result back to userspace (e g amixer).

    Signed-off-by: David Henningsson
    Signed-off-by: Takashi Iwai

    David Henningsson
     
  • This function returns its own error codes instead of normal negative
    error codes.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     
  • In the past when ASoC had a custom probe deferral mechanism people
    complained about the logspam it generated and didn't want to know about
    the fact that we were doing probe deferral so all the error messages for
    it were at dev_dbg(), making diagnostics hard. Now that we have probe
    deferral as an accepted thing and it's generating log messages anyway
    there's no need to worry about this so upgrade the severity of all the
    probe deferral sources to dev_err() so that they are displayed by default.

    Also add one for missing aux_devs since there wasn't one.

    Reported-by: Russell King
    Signed-off-by: Mark Brown

    Mark Brown
     
  • This patch adds the Intel HD Audio Device IDs for the Intel Lynx Point-LP PCH

    Signed-off-by: James Ralston
    Signed-off-by: Takashi Iwai

    James Ralston
     

09 Aug, 2012

6 commits


08 Aug, 2012

5 commits