Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #28

Merged
merged 27 commits into from
Jan 29, 2015
Merged

Sync up with Linus #28

merged 27 commits into from
Jan 29, 2015

Commits on Dec 30, 2014

  1. ASoC: fsl_esai: Fix incorrect xDC field width of xCCR registers

    The xDC field should have 5 bit width according to Reference Manual.
    Thus this patch fixes it.
    
    Signed-off-by: Aurelien BOUIN <[email protected]>
    Signed-off-by: Nicolin Chen <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Aurelien BOUIN authored and broonie committed Dec 30, 2014
    Configuration menu
    Copy the full SHA
    adc6029 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2015

  1. ASoC: ts3a227e: Check and report jack status at probe

    ts3a227e does not trigger interrupt to report jack status when system
    boots from warm reset because ts3a227e's power remains on during warm reset.
    Read jack status at probe to get current jack status.
    Note that if system boots from EC reset, then this issue will not
    happen.
    
    Signed-off-by: Cheng-Yi Chiang <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    chiang831 authored and broonie committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    8e3e36e View commit details
    Browse the repository at this point in the history
  2. ASoC: Intel: Don't change offset of block allocator during fixed allo…

    …cate
    
    The offset of block allocator, ba->offset, should not be changed during
    fixed address allocating, for the caller may treat it as the offset of
    allocated memory and use it. In the case that we allocate more than 1
    blocks, we should make sure this offset is correct.
    
    Here introduces a temp allocator for the later continuous allocating.
    
    Signed-off-by: Jie Yang <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    keyonjie authored and broonie committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    d83901e View commit details
    Browse the repository at this point in the history
  3. ASoC: adi: Add missing return statement.

    The probe routine was disabling the clock even
    if the system was configured successfully.  Add
    a return statement to leave clocks enabled.
    
    Signed-off-by: Andrew Jackson <[email protected]>
    Acked-by: Lars-Peter Clausen <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Andrew Jackson authored and broonie committed Jan 5, 2015
    Configuration menu
    Copy the full SHA
    ae6f636 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2015

  1. ASoC: wm8960: Fix capture sample rate from 11250 to 11025

    wm8960 codec can't support sample rate 11250, it must be 11025.
    
    Signed-off-by: Zidan Wang <[email protected]>
    Acked-by: Charles Keepax <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Zidan Wang authored and broonie committed Jan 6, 2015
    Configuration menu
    Copy the full SHA
    22ee76d View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2015

  1. ASoC: Intel: Add NULL checks for the stream pointer

    We should not send IPC stream commands to FW when the stream is
    NULL, dereference the NULL pointer may also occur without precheck.
    Here add NULL pointer checks for these stream APIs.
    
    Signed-off-by: Jie Yang <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    keyonjie authored and broonie committed Jan 7, 2015
    Configuration menu
    Copy the full SHA
    f81677b View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2015

  1. ASoC: rockchip: i2s: applys rate symmetry for CPU DAI

    This patch applys rate symmetry for rockchip i2s DAI.
    
    Signed-off-by: Jianqun Xu <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    jayxurockchip authored and broonie committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    a12d159 View commit details
    Browse the repository at this point in the history
  2. ASoC: fsl_ssi: Fix irq error check

    Commit 2ffa531 ("ASoC: fsl_ssi: Fix module unbound") changed the way to
    retrieve the irq number from irq_of_parse_and_map() to platform_get_irq(), but
    missed to updated the irq error check accordingly.
    
    We should test for negative irq number and propagate it in the case of error.
    
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Fabio Estevam authored and broonie committed Jan 8, 2015
    Configuration menu
    Copy the full SHA
    64aa5f5 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2015

  1. ASoC: rt5677: Modify the behavior that updates the PLL parameter.

    The patch modified the behavior that updates the PLL parameter. It set the
    update bit before the PLL power up.
    
    Signed-off-by: Oder Chiou <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    oder-chiou authored and broonie committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    bdfbf25 View commit details
    Browse the repository at this point in the history
  2. ASoC: pcm512x: Fix DSP program selection

    The DSP programs are listed out of order.
    
    Signed-off-by: Peter Rosin <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    peda-r authored and broonie committed Jan 9, 2015
    Configuration menu
    Copy the full SHA
    3a8e501 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2015

  1. ASoC: fsl: imx-wm8962: Set the card owner field

    The following crash happens when trying to unload the snd_soc_imx_wm8962 module
    while playback is active:
    
    [  208.666868] Unable to handle kernel paging request at virtc
    [  208.674110] pgd = 80004000
    [  208.676867] [7f06541c] *pgd=4c334811, *pte=00000000, *ppte=00000000
    [  208.683211] Internal error: Oops: 80000007 [#1] SMP ARM
    [  208.688445] Modules linked in: snd_soc_wm8962 snd_soc_fsl_ssi snd_soc_imx_audmux imx_pcm_fiq evbug]
    ...
    
    In order to avoid such problem, fill the card owner field as suggested by
    Lars-Peter Clausen:
    
    "But looking at the source it seems that this is a core feature of ALSA and at
    least for the card module itself it will do the ref-counting when a stream is
    started/stopped. And we even support setting the owner of a card in ASoC.
    It's just that pretty much no ASoC card driver bothers to set the owner field
    in the snd_soc_card struct. So this particular problem can be fixed by updating
    the imx-wm8962 driver to set the owner field."
    
    By doing as suggested, we no longer see the crash when attempting to unload the
    snd_soc_imx_wm8962 module while playback is active:
    
    $ modprobe -r snd_soc_imx_wm8962
    modprobe: can't unload module snd_soc_imx_wm8962: Resource temporarily
    unavailable
    
    Reported-by: Jiada Wang <[email protected]>
    Suggested-by: Lars-Peter Clausen <[email protected]>
    Signed-off-by: Fabio Estevam <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Fabio Estevam authored and broonie committed Jan 14, 2015
    Configuration menu
    Copy the full SHA
    0984f34 View commit details
    Browse the repository at this point in the history
  2. ASoC: simple-card: Fix crash in asoc_simple_card_unref()

    If asoc_simple_card_probe() fails, asoc_simple_card_unref() may be
    called before dev_set_drvdata(), causing a NULL pointer dereference in
    asoc_simple_card_unref():
    
        Unable to handle kernel NULL pointer dereference at virtual address 000000d4
        ...
        PC is at asoc_simple_card_unref+0x14/0x48
        LR is at asoc_simple_card_probe+0x3d4/0x40c
    
    This typically happens because asoc_simple_card_parse_of() returns
    -EPROBE_DEFER, but other failure modes are possible.
    devm_snd_soc_register_card()/snd_soc_register_card() may fail either
    before or after dev_set_drvdata().
    
    Pass a snd_soc_card pointer instead of a platform_device pointer to
    asoc_simple_card_unref() to fix this.
    
    Note that if CONFIG_OF_DYNAMIC=n, of_node_put() is a dummy, and gcc may
    optimize away the loop over card->dai_link, never actually dereferencing
    card, and thus avoiding the crash...
    
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Fixes: e512e00 ("ASoC: simple-card: Fix the reference count of device nodes")
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    geertu authored and broonie committed Jan 14, 2015
    Configuration menu
    Copy the full SHA
    7ddfdb5 View commit details
    Browse the repository at this point in the history
  3. ASoC: wm8904: fix runtime warning

    Correct the path name for mux to get rid of the following warning:
    
    --->8---
    wm8904 1-001a: Control not supported for path ADCL -> [Left] -> AIFOUTL
    wm8904 1-001a: ASoC: no dapm match for ADCL --> Left --> AIFOUTL
    wm8904 1-001a: ASoC: Failed to add route ADCL -> Left -> AIFOUTL
    wm8904 1-001a: Control not supported for path ADCR -> [Right] -> AIFOUTL
    wm8904 1-001a: ASoC: no dapm match for ADCR --> Right --> AIFOUTL
    wm8904 1-001a: ASoC: Failed to add route ADCR -> Right -> AIFOUTL
    wm8904 1-001a: Control not supported for path ADCL -> [Left] -> AIFOUTR
    wm8904 1-001a: ASoC: no dapm match for ADCL --> Left --> AIFOUTR
    wm8904 1-001a: ASoC: Failed to add route ADCL -> Left -> AIFOUTR
    wm8904 1-001a: Control not supported for path ADCR -> [Right] -> AIFOUTR
    wm8904 1-001a: ASoC: no dapm match for ADCR --> Right --> AIFOUTR
    wm8904 1-001a: ASoC: Failed to add route ADCR -> Right -> AIFOUTR
    wm8904 1-001a: Control not supported for path AIFINR -> [Right] -> DACL
    wm8904 1-001a: ASoC: no dapm match for AIFINR --> Right --> DACL
    wm8904 1-001a: ASoC: Failed to add route AIFINR -> Right -> DACL
    wm8904 1-001a: Control not supported for path AIFINL -> [Left] -> DACL
    wm8904 1-001a: ASoC: no dapm match for AIFINL --> Left --> DACL
    wm8904 1-001a: ASoC: Failed to add route AIFINL -> Left -> DACL
    wm8904 1-001a: Control not supported for path AIFINR -> [Right] -> DACR
    wm8904 1-001a: ASoC: no dapm match for AIFINR --> Right --> DACR
    wm8904 1-001a: ASoC: Failed to add route AIFINR -> Right -> DACR
    wm8904 1-001a: Control not supported for path AIFINL -> [Left] -> DACR
    wm8904 1-001a: ASoC: no dapm match for AIFINL --> Left --> DACR
    wm8904 1-001a: ASoC: Failed to add route AIFINL -> Left -> DACR
    ---8<---
    
    Signed-off-by: Bo Shen <[email protected]>
    Acked-by: Charles Keepax <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Bo Shen authored and broonie committed Jan 14, 2015
    Configuration menu
    Copy the full SHA
    a30c188 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2015

  1. ASoC: rt286: set the same format for dac and adc

    There is only one I2S I/F, AD/DA path must operate to the same
    format.
    
    Signed-off-by: Bard Liao <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Bard Liao authored and broonie committed Jan 15, 2015
    Configuration menu
    Copy the full SHA
    45437fa View commit details
    Browse the repository at this point in the history
  2. ASoC: soc-compress.c: fix NULL dereference

    In soc_new_compress() when rtd->dai_link->dynamic is set, we create the pcm
    substreams with this call:
    
       ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
                                       1, 0, &be_pcm);
    
    which passes 0 as capture_count leading to
    
       be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream
    
    being NULL, hence when trying to set rtd a few lines below we get an oops.
    
    Fix by using rtd->dai_link->dpcm_playback and rtd->dai_link->dpcm_capture as
    playback_count and capture_count to snd_pcm_new_internal().
    
    Signed-off-by: Qais Yousef <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Qais Yousef authored and broonie committed Jan 15, 2015
    Configuration menu
    Copy the full SHA
    d3268a4 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2015

  1. ASoC: omap-mcbsp: Correct CBM_CFS dai format configuration

    We should select FSR also to be driven by McBSP, not only FSX.
    
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Acked-by: Jarkko Nikula <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Cc: [email protected]
    Peter Ujfalusi authored and broonie committed Jan 16, 2015
    Configuration menu
    Copy the full SHA
    20602e3 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2015

  1. pinctrl: at91: allow to have disabled gpio bank

    Today we expect that all the bank are enabled, and count the number of banks
    used by the pinctrl based on it instead of using the last bank id enabled.
    
    So switch to it, set the chained IRQ at runtime based on enabled banks
    and wait only the number of enabled gpio controllers at probe time.
    
    Cc: <[email protected]> # 3.18
    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
    Signed-off-by: Ludovic Desroches <[email protected]>
    Acked-by: Nicolas Ferre <[email protected]>
    Signed-off-by: Linus Walleij <[email protected]>
    plagnioj authored and linusw committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    a0b957f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d9b35aa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a9bb437 View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branches 'asoc/fix/adi', 'asoc/fix/compress', '…

    …asoc/fix/fsl-ssi', 'asoc/fix/imx', 'asoc/fix/intel', 'asoc/fix/omap', 'asoc/fix/rockchip' and 'asoc/fix/rt286' into asoc-linus
    broonie committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    8a6dcdd View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branches 'asoc/fix/rt5677', 'asoc/fix/simple', …

    …'asoc/fix/ts3a227e', 'asoc/fix/wm8904' and 'asoc/fix/wm8960' into asoc-linus
    broonie committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    88343ee View commit details
    Browse the repository at this point in the history
  6. Merge tag 'asoc-v3.19-rc6' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/broonie/sound into for-linus
    
    ASoC: Fixes for v3.19
    
    There's a lot more fixes here than I'd like since I've been lax in
    sending things throughout the release cycle but there's only two in
    generic code and they've had quite some time to cook in -next so
    hopefully on balance are OK.
    
    The two generic fixes are a fix for crashes on capture DAIs in the
    compress code and a fix for error handling on probe failures which would
    have been harmless in the past but now oopses with the new dynamic probe
    code.
    tiwai committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    6715f72 View commit details
    Browse the repository at this point in the history
  7. ALSA: seq-dummy: remove deadlock-causing events on close

    When the last subscriber to a "Through" port has been removed, the
    subscribed destination ports might still be active, so it would be
    wrong to send "all sounds off" and "reset controller" events to them.
    The proper place for such a shutdown would be the closing of the actual
    MIDI port (and close_substream() in rawmidi.c already can do this).
    
    This also fixes a deadlock when dummy_unuse() tries to send events to
    its own port that is already locked because it is being freed.
    
    Reported-by: Peter Billam <peter@www.pjb.com.au>
    Cc: <[email protected]>
    Signed-off-by: Clemens Ladisch <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    cladisch authored and tiwai committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    0767e95 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2015

  1. vm: add VM_FAULT_SIGSEGV handling support

    The core VM already knows about VM_FAULT_SIGBUS, but cannot return a
    "you should SIGSEGV" error, because the SIGSEGV case was generally
    handled by the caller - usually the architecture fault handler.
    
    That results in lots of duplication - all the architecture fault
    handlers end up doing very similar "look up vma, check permissions, do
    retries etc" - but it generally works.  However, there are cases where
    the VM actually wants to SIGSEGV, and applications _expect_ SIGSEGV.
    
    In particular, when accessing the stack guard page, libsigsegv expects a
    SIGSEGV.  And it usually got one, because the stack growth is handled by
    that duplicated architecture fault handler.
    
    However, when the generic VM layer started propagating the error return
    from the stack expansion in commit fee7e49 ("mm: propagate error
    from stack expansion even for guard page"), that now exposed the
    existing VM_FAULT_SIGBUS result to user space.  And user space really
    expected SIGSEGV, not SIGBUS.
    
    To fix that case, we need to add a VM_FAULT_SIGSEGV, and teach all those
    duplicate architecture fault handlers about it.  They all already have
    the code to handle SIGSEGV, so it's about just tying that new return
    value to the existing code, but it's all a bit annoying.
    
    This is the mindless minimal patch to do this.  A more extensive patch
    would be to try to gather up the mostly shared fault handling logic into
    one generic helper routine, and long-term we really should do that
    cleanup.
    
    Just from this patch, you can generally see that most architectures just
    copied (directly or indirectly) the old x86 way of doing things, but in
    the meantime that original x86 model has been improved to hold the VM
    semaphore for shorter times etc and to handle VM_FAULT_RETRY and other
    "newer" things, so it would be a good idea to bring all those
    improvements to the generic case and teach other architectures about
    them too.
    
    Reported-and-tested-by: Takashi Iwai <[email protected]>
    Tested-by: Jan Engelhardt <[email protected]>
    Acked-by: Heiko Carstens <[email protected]> # "s390 still compiles and boots"
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    33692f2 View commit details
    Browse the repository at this point in the history
  2. vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than …

    …SIGBUS
    
    The stack guard page error case has long incorrectly caused a SIGBUS
    rather than a SIGSEGV, but nobody actually noticed until commit
    fee7e49 ("mm: propagate error from stack expansion even for guard
    page") because that error case was never actually triggered in any
    normal situations.
    
    Now that we actually report the error, people noticed the wrong signal
    that resulted.  So far, only the test suite of libsigsegv seems to have
    actually cared, but there are real applications that use libsigsegv, so
    let's not wait for any of those to break.
    
    Reported-and-tested-by: Takashi Iwai <[email protected]>
    Tested-by: Jan Engelhardt <[email protected]>
    Acked-by: Heiko Carstens <[email protected]> # "s390 still compiles and boots"
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    9c145c5 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'pinctrl-v3.19-4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/linusw/linux-pinctrl
    
    Pull final pin control fix from Linus Walleij:
     "A late pin control fix for the v3.19 series: The AT91 gpio controller
      would miss wakeup events, this single fix make it work properly"
    
    [ "Final"? Yeah, I'll believe that once I've actually released 3.19 ;)   - Linus ]
    
    * tag 'pinctrl-v3.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
      pinctrl: at91: allow to have disabled gpio bank
    torvalds committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    297614f View commit details
    Browse the repository at this point in the history
  4. Merge tag 'sound-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "This batch ended up being larger than wished, but there is nothing to
      worry too much there.
    
      Most of commits are for ASoC, a compress NULL dereference fix, a fix
      for probe error handling, and the rest are device-specific fixes.  In
      addition, we have a fix for a long-standing but of seq-dummy driver,
      which just cuts off the buggy part in the end"
    
    * tag 'sound-3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: seq-dummy: remove deadlock-causing events on close
      ASoC: omap-mcbsp: Correct CBM_CFS dai format configuration
      ASoC: soc-compress.c: fix NULL dereference
      ASoC: rt286: set the same format for dac and adc
      ASoC: wm8904: fix runtime warning
      ASoC: simple-card: Fix crash in asoc_simple_card_unref()
      ASoC: fsl: imx-wm8962: Set the card owner field
      ASoC: pcm512x: Fix DSP program selection
      ASoC: rt5677: Modify the behavior that updates the PLL parameter.
      ASoC: fsl_ssi: Fix irq error check
      ASoC: rockchip: i2s: applys rate symmetry for CPU DAI
      ASoC: Intel: Add NULL checks for the stream pointer
      ASoC: wm8960: Fix capture sample rate from 11250 to 11025
      ASoC: adi: Add missing return statement.
      ASoC: Intel: Don't change offset of block allocator during fixed allocate
      ASoC: ts3a227e: Check and report jack status at probe
      ASoC: fsl_esai: Fix incorrect xDC field width of xCCR registers
    torvalds committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    a2ae004 View commit details
    Browse the repository at this point in the history