13 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)
    ASoC: twl6040 - Add method to query optimum PDM_DL1 gain
    ALSA: hda - Fix the lost power-setup of seconary pins after PM resume
    ALSA: usb-audio: add Yamaha MOX6/MOX8 support
    ALSA: virtuoso: add S/PDIF input support for all Xonars
    ALSA: ice1724 - Support for ooAoo SQ210a
    ALSA: ice1724 - Allow card info based on model only
    ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations
    ALSA: hdspm - Provide unique driver id based on card serial
    ASoC: Dynamically allocate the rtd device for a non-empty release()
    ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC
    ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs
    ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs
    ALSA: hda - Use auto-parser for HP laptops with cx20459 codec
    ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()
    ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()
    ALSA: hda/cirrus - support for iMac12,2 model
    ASoC: cx20442: add bias control over a platform provided regulator
    ALSA: usb-audio - Avoid flood of frame-active debug messages
    ALSA: snd-usb-us122l: Delete calls to preempt_disable
    mfd: Put WM8994 into cache only mode when suspending
    ...

    Fix up trivial conflicts in:
    - arch/arm/mach-s3c64xx/mach-crag6410.c:
    renamed speyside_wm8962 to tobermory, added littlemill right
    next to it
    - drivers/base/regmap/{regcache.c,regmap.c}:
    duplicate diff that had already come in with other changes in
    the regmap tree

    Linus Torvalds
     

11 Jan, 2012

1 commit


09 Jan, 2012

2 commits


08 Jan, 2012

1 commit

  • A malicious USB device may feed in carefully crafted min/max/res values,
    so that the inner loop in parse_uac2_sample_rate_range() could run for
    a long time or even never terminate, e.g., given max = INT_MAX.

    Also nr_rates could be a large integer, which causes an integer overflow
    in the subsequent call to kmalloc() in parse_audio_format_rates_v2().
    Thus, kmalloc() would allocate a smaller buffer than expected, leading
    to a memory corruption.

    To exploit the two vulnerabilities, an attacker needs physical access
    to the machine to plug in a malicious USB device.

    This patch makes two changes.

    1) The type of "rate" is changed to unsigned int, so that the loop could
    stop once "rate" is larger than INT_MAX.

    2) Limit nr_rates to 1024.

    Suggested-by: Takashi Iwai
    Signed-off-by: Xi Wang
    Signed-off-by: Takashi Iwai

    Xi Wang
     

07 Jan, 2012

1 commit

  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

19 Dec, 2011

1 commit

  • module_param(bool) used to counter-intuitively take an int. In
    fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
    trick.

    It's time to remove the int/unsigned int option. For this version
    it'll simply give a warning, but it'll break next kernel version.

    Signed-off-by: Rusty Russell
    Signed-off-by: Takashi Iwai

    Rusty Russell
     

12 Dec, 2011

1 commit


29 Nov, 2011

1 commit


19 Nov, 2011

1 commit

  • This converts the drivers in sound/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Daniel Mack
    Cc: Clemens Ladisch
    Cc: Torsten Schenk
    Cc: Paul Gortmaker
    Cc: Karsten Wiese
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

11 Nov, 2011

1 commit


09 Nov, 2011

2 commits

  • Logitech HD Webcam c510 provide wrong mixer resolution.
    Add it to "res = 384" quirk.

    Signed-off-by: Alexey Fisher
    Signed-off-by: Takashi Iwai

    Alexey Fisher
     
  • In the recent usb-audio driver, the initialization of volume ranges
    may be delayed when the device doesn't respond well at the probing time.
    But the volume quirks for certain devices are applied only in
    mixer_ctl_feature_info() thus only at the very first probe and will be
    missing when the volume range is initialized later.

    This patch moves the volume quirk code to be always called from the
    volume-range extraction (get_min_max()), so that the quirks are properly
    applied in the later init time.

    Reported-and-tested-by: Alexey Fisher
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

07 Nov, 2011

2 commits

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Revert the check of NO_PRESENCE pincfg default bit
    ALSA: hda - Fix a regression for DMA-position check with CA0110
    ALSA: hda - Fix silent output regression with ALC861
    ALSA: control: remove compilation warning on 32-bit
    ALSA: ua101: fix crash when unplugging

    Linus Torvalds
     

06 Nov, 2011

1 commit

  • If the device is unplugged while running, it is possible for a PCM
    device to be closed after the disconnect callback has returned. This
    means that kill_stream_urb() and disable_iso_interface() would try to
    access already-invalid or freed USB data structures.

    The function free_usb_related_resources() was intended to prevent this,
    but forgot to clear the affected variables.

    Reported-and-tested-by: Olivier Courtay
    Signed-off-by: Clemens Ladisch
    Cc: 2.6.33+
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

01 Nov, 2011

2 commits


29 Oct, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
    ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
    ALSA: hda - Keep EAPD turned on for old Conexant chips
    ALSA: hda/realtek - Fix missing volume controls with ALC260
    ASoC: wm8940: Properly set codec->dapm.bias_level
    ALSA: hda - Fix pin-config for ASUS W90V
    ALSA: hda - Fix surround/CLFE headphone and speaker pins order
    ALSA: hda - Fix typo
    ALSA: Update the sound git tree URL
    ALSA: HDA: Add new revision for ALC662
    ASoC: max98095: Convert codec->hw_write to snd_soc_write
    ASoC: keep pointer to resource so it can be freed
    ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
    ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
    ASoC: da7210: Add support for line out and DAC
    ASoC: da7210: Add support for DAPM
    ALSA: hda/realtek - Fix DAC assignments of multiple speakers
    ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
    ASoC: Set sgtl5000->ldo in ldo_regulator_register
    ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
    ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
    ...

    Linus Torvalds
     

27 Oct, 2011

1 commit


13 Oct, 2011

3 commits

  • The audio_feature_info[] array should contain all entries for UAC2_FU_*,
    but currently a few last entries are missing. Even though, the driver
    tries to probe these entries in parse_audio_feature_unit() and may
    access the range over the array. This patch fixes the bug by limiting
    the loop size properly using ARRAY_SIZE() instead of a hard-coded
    magic number.

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

    Takashi Iwai
     
  • This adds partial support for the Maschine controller by Native Instruments.
    Supported now are the 1x1 MIDI interface and the 41 buttons, 11 endless
    rotary encoders, and 16 pressure-sensitive drum pads. Still to work on are the
    dimmable LEDs and the two monochrome screens.

    Signed-off-by: William Light
    Signed-off-by: Takashi Iwai

    William Light
     
  • There was a case where a newly-registered input device could be opened before
    a necessary variable in the device structure was set. When code tried to use
    the variable in the URB reply callback, it would cause an Oops.

    This fix sets the aforementioned variable before calling input_register_device.

    Signed-off-by: William Light
    Signed-off-by: Takashi Iwai

    William Light
     

08 Oct, 2011

1 commit

  • * 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
     

27 Sep, 2011

1 commit

  • There are certain devices that are reportedly so slow that they need
    more than 100 ms to handle control transfers. Therefore, increase the
    timeout in mixer(_quirks).c to 1000 ms.

    The timeout parameter of snd_usb_ctl_msg() is now constant, so we can
    drop it.

    Reported-by: Felipe Balbi
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

26 Sep, 2011

1 commit


23 Sep, 2011

2 commits

  • 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
     
  • Signed-off-by: Andy Shevchenko
    Signed-off-by: Takashi Iwai

    Andy Shevchenko
     

16 Sep, 2011

1 commit


14 Sep, 2011

3 commits


12 Sep, 2011

1 commit

  • Existing code only updates the audio delay when URBs were
    submitted/retired. This can introduce an uncertainty of 8ms
    on the number of samples played out with the default settings,
    and a lot more when URBs convey more packets to reduce the
    interrupt rate and power consumption.

    This patch relies on the USB frame counter to reduce the
    uncertainty to less than 2ms worst-case. The delay information
    essentially becomes independent of the URB size and number of
    packets. This should help applications like PulseAudio which
    require accurate audio timing. Clemens Ladisch reported
    a decrease of mplayer's A-V difference from nrpacks down to at
    most 1ms.

    Thanks to Clemens for also pointing out that the implementation
    of frame counters varies between different HCDs. Only the
    8 lowest-bits are used to estimate the delay.

    Signed-off-by: Pierre-Louis Bossart
    [clemens: changed debug code]
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     

26 Aug, 2011

1 commit


20 Aug, 2011

1 commit

  • This patch (as1482) adds a macro for testing whether or not a
    pm_message value represents an autosuspend or autoresume (i.e., a
    runtime PM) event. Encapsulating this notion seems preferable to
    open-coding the test all over the place.

    Signed-off-by: Alan Stern
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     

19 Aug, 2011

2 commits

  • When the initial check of dB-range failed due to the read error, try to
    check again at the later read, too. When an invalid dB range is found,
    remove TLV flags and notify the mixer info change.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The recent fix for testing dB range at the mixer creation time seems
    to cause regressions in some devices. In such devices, reading the dB
    info at probing time gives an error, thus both dBmin and dBmax are still
    zero, and TLV flag isn't set although the later read of dB info succeeds.

    This patch adds a workaround for such a case by assuming that the later
    read will succeed. In future, a similar test should be performed in a
    case where a wrong dB range is seen even in the later read.

    Signed-off-by: Takashi Iwai
    Cc:

    Takashi Iwai
     

15 Aug, 2011

1 commit

  • The snd_usb_caiaq driver currently assumes that output urbs are serviced
    in time and doesn't track when and whether they are given back by the
    USB core. That usually works fine, but due to temporary limitations of
    the XHCI stack, we faced that urbs were submitted more than once with
    this approach.

    As it's no good practice to fire and forget urbs anyway, this patch
    introduces a proper bit mask to track which requests have been submitted
    and given back.

    That alone however doesn't make the driver work in case the host
    controller is broken and doesn't give back urbs at all, and the output
    stream will stop once all pre-allocated output urbs are consumed. But
    it does prevent crashes of the controller stack in such cases.

    See http://bugzilla.kernel.org/show_bug.cgi?id=40702 for more details.

    Signed-off-by: Daniel Mack
    Reported-and-tested-by: Matej Laitl
    Cc: Sarah Sharp
    Cc: stable@kernel.org
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

11 Aug, 2011

1 commit

  • This fixes faulty outbount packets in case the inbound packets
    received from the hardware are fragmented and contain bogus input
    iso frames. The bug has been there for ages, but for some strange
    reasons, it was only triggered by newer machines in 64bit mode.

    Signed-off-by: Daniel Mack
    Reported-and-tested-by: William Light
    Reported-by: Pedro Ribeiro
    Cc: stable@kernel.org
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

10 Aug, 2011

1 commit