25 Oct, 2011

2 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
    PM / Clocks: Remove redundant NULL checks before kfree()
    PM / Documentation: Update docs about suspend and CPU hotplug
    ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
    ARM: mach-shmobile: sh7372 A4R support (v4)
    ARM: mach-shmobile: sh7372 A3SP support (v4)
    PM / Sleep: Mark devices involved in wakeup signaling during suspend
    PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
    PM / Hibernate: Do not initialize static and extern variables to 0
    PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
    PM / Hibernate: Add resumedelay kernel param in addition to resumewait
    MAINTAINERS: Update linux-pm list address
    PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
    PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
    PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
    PM / Hibernate: Fix typo in a kerneldoc comment
    PM / Hibernate: Freeze kernel threads after preallocating memory
    PM: Update the policy on default wakeup settings
    PM / VT: Cleanup #if defined uglyness and fix compile error
    PM / Suspend: Off by one in pm_suspend()
    PM / Hibernate: Include storage keys in hibernation image on s390
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
    MAINTAINERS: linux-m32r is moderated for non-subscribers
    linux@lists.openrisc.net is moderated for non-subscribers
    Drop default from "DM365 codec select" choice
    parisc: Kconfig: cleanup Kernel page size default
    Kconfig: remove redundant CONFIG_ prefix on two symbols
    cris: remove arch/cris/arch-v32/lib/nand_init.S
    microblaze: add missing CONFIG_ prefixes
    h8300: drop puzzling Kconfig dependencies
    MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
    tty: drop superfluous dependency in Kconfig
    ARM: mxc: fix Kconfig typo 'i.MX51'
    Fix file references in Kconfig files
    aic7xxx: fix Kconfig references to READMEs
    Fix file references in drivers/ide/
    thinkpad_acpi: Fix printk typo 'bluestooth'
    bcmring: drop commented out line in Kconfig
    btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
    doc: raw1394: Trivial typo fix
    CIFS: Don't free volume_info->UNC until we are entirely done with it.
    treewide: Correct spelling of successfully in comments
    ...

    Linus Torvalds
     

21 Oct, 2011

1 commit


18 Oct, 2011

2 commits

  • This is patch for Conexant codec of Intel HDA driver, adding new quirk
    for Lenovo Thinkpad T520 and W520. Conexant autodetection works fine for
    T520 (similar subsystem ID is used also in W520 model) and detects more
    mixer features compared to generic (fallback) Lenovo quirk with
    hardcoded options in Conexant codec.

    Patch was activelly tested with Linux 3.0.4, 3.0.6 and 3.0.7 without any
    problems.

    Signed-off-by: Daniel Suchy
    Cc: [3.0+]
    Signed-off-by: Takashi Iwai

    Daniel Suchy
     
  • The previous fix for the position-buffer check gives yet another
    regression on a Dell laptop. The safest fix right now is to add a
    static quirk for this device (and better to apply it for stable
    kernels too).

    Reported-by: Éric Piel
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

14 Oct, 2011

1 commit


08 Oct, 2011

2 commits

  • * pm-qos:
    PM / QoS: Update Documentation for the pm_qos and dev_pm_qos frameworks
    PM / QoS: Add function dev_pm_qos_read_value() (v3)
    PM QoS: Add global notification mechanism for device constraints
    PM QoS: Implement per-device PM QoS constraints
    PM QoS: Generalize and export constraints management code
    PM QoS: Reorganize data structs
    PM QoS: Code reorganization
    PM QoS: Minor clean-ups
    PM QoS: Move and rename the implementation files

    Rafael J. Wysocki
     
  • * pm-runtime:
    PM / Tracing: build rpm-traces.c only if CONFIG_PM_RUNTIME is set
    PM / Runtime: Replace dev_dbg() with trace_rpm_*()
    PM / Runtime: Introduce trace points for tracing rpm_* functions
    PM / Runtime: Don't run callbacks under lock for power.irq_safe set
    USB: Add wakeup info to debugging messages
    PM / Runtime: pm_runtime_idle() can be called in atomic context
    PM / Runtime: Add macro to test for runtime PM events
    PM / Runtime: Add might_sleep() to runtime PM functions

    Rafael J. Wysocki
     

05 Oct, 2011

1 commit


03 Oct, 2011

3 commits


30 Sep, 2011

1 commit

  • The commit a810364a0424c297242c6c66071a42f7675a5568
    ALSA: hda - Handle -1 as invalid position, too
    caused a regression on some machines that require the position-buffer
    instead of LPIB, e.g. resulting in noises with mic recording with
    PulseAudio.

    This patch fixes the detection by delaying the test at the timing as
    same as 3.0, i.e. doing the position check only when requested in
    azx_position_ok().

    Reported-and-tested-by: Rocko Requin
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

28 Sep, 2011

3 commits


27 Sep, 2011

1 commit

  • Currently the the internal oscillator is powered down when entering BIAS_OFF
    state, but not re-enabled when going back to BIAS_STANDBY. As a result the
    CODEC will stop working after suspend if the internal oscillator is used to
    generate the sysclock signal. This patch fixes it by clearing the appropriate
    bit in the power down register when the CODEC is re-enabled.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Lars-Peter Clausen
     

26 Sep, 2011

3 commits

  • Before clearing the probing flag in the error exit path, check that the
    chip pointer is not NULL.

    Signed-off-by: Thomas Pfaff
    Cc: [2.6.39+]
    Signed-off-by: Takashi Iwai

    Thomas Pfaff
     
  • The spec->autocfg.line_out_pins[] may contain the same pins as hp_pins[]
    depending on the configuration. When they are identical, detecting the
    line_jack_present flag screws up the auto-mute because alc_line_automute()
    is called unconditionally at initialization while it won't be triggered
    by unsol events, thus the old line_jack_present flag is kept for the
    whole run.

    For fixing this buggy behavior, the driver needs to check whether the
    line-outs are really individual, and skip if same as headphone jacks.

    Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When the headphone pin is assigned as primary output to line_out_pins[],
    the automatic HP-pin assignment by ASSID must be suppressed. Otherwise
    a wrong pin might be assigned to the headphone and breaks the auto-mute.

    Reference: https://bugzilla.novell.com/show_bug.cgi?id=716104

    Signed-off-by: Takashi Iwai
    Cc:

    Takashi Iwai
     

24 Sep, 2011

1 commit


23 Sep, 2011

3 commits

  • Takashi Iwai
     
  • The Terratec Aureon 5.1 USB sound card support is broken since kernel
    2.6.39.
    2.6.39 introduced power management support for USB sound cards that added
    a probing flag in struct snd_usb_audio.

    During the probe of the card it gives following error message :

    usb 7-2: new full speed USB device number 2 using uhci_hcd
    cannot find UAC_HEADER
    snd-usb-audio: probe of 7-2:1.3 failed with error -5
    input: USB Audio as
    /devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.3/input/input6
    generic-usb 0003:0CCD:0028.0001: input: USB HID v1.00 Device [USB Audio]
    on usb-0000:00:1d.1-2/input3

    I can not comment about that "cannot find UAC_HEADER" error, but until
    2.6.38 the card worked anyway.
    With 2.6.39 chip->probing remains 1 on error exit, and any later ioctl
    stops in snd_usb_autoresume with -ENODEV.

    Signed-off-by: Thomas Pfaff
    Cc: [2.6.39+]
    Signed-off-by: Takashi Iwai

    Thomas Pfaff
     
  • Attempt to change McBSP CLKS source while another stream is active is not
    safe after commit d135865 ("OMAP: McBSP: implement functional clock
    switching via clock framework") in 2.6.37.

    CLKS parent clock switching using clock framework have to idle the McBSP
    before switching and then activate it again. This short break can cause a
    DMA transaction error to already running stream which halts and recovers
    only by closing and restarting the stream.

    This goes more fatal after commit e2fa61d ("OMAP3: l3: Introduce
    l3-interconnect error handling driver") in 2.6.39 where l3 driver detects a
    severe timeout error and does BUG_ON().

    Fix this by not changing any configuration in omap_mcbsp_dai_set_dai_sysclk
    if the McBSP is already active. This test should have been here just from
    the beginning anyway.

    Signed-off-by: Jarkko Nikula
    Acked-by: Peter Ujfalusi
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Jarkko Nikula
     

22 Sep, 2011

2 commits

  • Commit 9676001559fce06e37c7dc230ab275f605556176
    ("ALSA: fm801: add error handling if auto-detect fails") seems to
    break systems that were previously working without a tuner.

    As a bonus, this should fix init and cleanup for the case where the
    tuner is explicitly disabled.

    Reported-and-tested-by: Hor Jiun Shyong
    References: http://bugs.debian.org/641946
    Signed-off-by: Ben Hutchings
    Cc: stable@kernel.org [v3.0+]
    Signed-off-by: Takashi Iwai

    Ben Hutchings
     
  • Commit 9676001559fce06e37c7dc230ab275f605556176
    ("ALSA: fm801: add error handling if auto-detect fails") added
    incorrect error handling.

    Once we have successfully called snd_device_new(), the cleanup
    function fm801_free() will automatically be called by snd_card_free()
    and we must *not* also call fm801_free() directly.

    Reported-by: Hor Jiun Shyong
    References: http://bugs.debian.org/641946
    Signed-off-by: Ben Hutchings
    Cc: stable@kernel.org [v3.0+]
    Signed-off-by: Takashi Iwai

    Ben Hutchings
     

21 Sep, 2011

1 commit

  • Commit 873bd4c (ASoC: Don't set invalid name string to snd_card->driver
    field) broke generation of a driver name for all ASoC cards relying on the
    automatic generation of one. Fix this by using the old default with spaces
    replaced by underscores.

    Signed-off-by: Mark Brown
    Acked-by: Takashi Iwai

    Mark Brown
     

20 Sep, 2011

2 commits


19 Sep, 2011

1 commit

  • When the system has only the headphone and the line-out jacks without
    speakers, the current auto-mute code doesn't work. It's because the
    spec->automute_lines flag is wrongly referred in update_speakers().
    This flag must be meaningless when spec->automute_hp_lo isn't set, thus
    they should be always coupled.

    The patch fixes the problem and add a comment to indicate the
    relationship briefly.

    BugLink: http://bugs.launchpad.net/bugs/851697

    Reported-by: David Henningsson
    Tested-By: Jayne Han
    Cc: stable@kernel.org (3.0)
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

16 Sep, 2011

1 commit


15 Sep, 2011

2 commits

  • wait_for_avail() in pcm_lib.c has a race in it (observed in practice by an
    Intel validation group).

    The function is supposed to return once space in the buffer has become
    available, or if some timeout happens. The entity that creates space (irq
    handler of sound driver and some such) will do a wake up on a waitqueue
    that this function registers for.

    However there are two races in the existing code

    1) If space became available between the caller noticing there was no
    space and this function actually sleeping, the wakeup is missed and the
    timeout condition will happen instead

    2) If a wakeup happened but not sufficient space became available, the
    code will loop again and wait for more space. However, if the second
    wake comes in prior to hitting the schedule_timeout_interruptible(), it
    will be missed, and potentially you'll wait out until the timeout
    happens.

    The fix consists of using more careful setting of the current state (so
    that if a wakeup happens in the main loop window, the schedule_timeout()
    falls through) and by checking for available space prior to going into the
    schedule_timeout() loop, but after being on the waitqueue and having the
    state set to interruptible.

    [tiwai: the following changes have been added to Arjan's original patch:
    - merged akpm's fix for waitqueue adding order into a single patch
    - reduction of duplicated code of avail check
    ]

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Cc:
    Signed-off-by: Takashi Iwai

    Arjan van de Ven
     
  • Takashi Iwai
     

14 Sep, 2011

1 commit


13 Sep, 2011

1 commit


12 Sep, 2011

1 commit


06 Sep, 2011

2 commits


31 Aug, 2011

2 commits

  • Fixes the following warning:

    CC sound/soc/imx/imx-pcm-fiq.o
    sound/soc/imx/imx-pcm-fiq.c: In function 'imx_pcm_fiq_new':
    sound/soc/imx/imx-pcm-fiq.c:243: warning: unused variable 'card'
    CC sound/soc/imx/imx-pcm-dma-mx2.o

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mark Brown

    Fabio Estevam
     
  • Currently the condition for these WARN_ONs is reversed and they are placed
    before the actual check whether we are going to write to that register. So if
    the codec implements the register_writable callback we'll get a warning for each
    writable register when syncing the register cache.

    While we are at it change the check to use snd_soc_codec_writable_register
    instead of open-coding it.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Lars-Peter Clausen