11 Nov, 2009

2 commits


10 Nov, 2009

6 commits

  • Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 broke the
    error handling code in rawmidi_open_priv().

    If only the output substream of a RawMIDI device has been opened and
    if this device is then opened with O_RDWR | O_APPEND and if the
    initialization of the input substream fails (either because of low
    memory or because the device driver's open callback fails), then the
    runtime structure of the already open output substream will be freed
    and all following writes through the first handle will cause
    snd_rawmidi_write() to use the NULL runtime pointer.

    Signed-off-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 dropped the
    check that a substream must already have been opened with O_APPEND to be
    able to open it a second time.

    This would make it possible for a substream to be switched to append
    mode, which would mean that non-atomic writes would fail unexpectedly.

    Signed-off-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 moved the
    substream initialization code to where it would be executed every time
    the substream is opened.

    This had the consequence that any further opening would drop and leak
    the data in the existing buffer, and that the device driver's open
    callback would be called multiple times, unexpectedly.

    Signed-off-by: Clemens Ladisch
    Cc:
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • The present quirk for HP dc5750 seems broken and maps the pins wrongly.
    Since the auto-parser works well for this device, set the default entry
    to use model=auto.

    Reference: Novell bnc#552154
    https://bugzilla.novell.com/show_bug.cgi?id=552154

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Our contacts at Conexant suggested that we reduce the external
    microphone bias to 50% in order to center the input signal with
    the DC input range of the codec. This is because the microphone
    port is DC coupled for potential use with sensors.

    Signed-off-by: Daniel Drake
    Signed-off-by: Takashi Iwai

    Daniel Drake
     
  • BugLink: https://bugs.launchpad.net/bugs/478309

    The internal microphone on this VAIO model does not work unless the
    "auto" quirk is used.

    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

    Daniel T Chen
     

08 Nov, 2009

3 commits


07 Nov, 2009

3 commits

  • So far, CORB/RIRB still remains even if the driver is switched to the
    single_cmd mode. The specification says that this should be disabled,
    but I hoped this isn't the case; indeed most devices worked together with
    CORB/RIRB.

    However, Poulsbo (US15W) seems problematic with this setup, and it
    requires to disable CORB/RIRB when single_cmd is used.

    Now this patch disables CORB/RIRB initialization when the single_cmd
    mode is used. Also the unsolicited event is disabled because it can't
    work without RIRB.

    Reported-and-tested-by: Troy Kisky
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Fix combine_word problem where first octet is not
    read properly. The only affected place seems to be the
    INPUT_TERMINAL type. Before now, sound controls can be created
    with the output terminal's name which is a fallback mechanism
    used only for unknown input terminal types. For example,
    Line can wrongly appear as Speaker. After the change it
    should appear as Line.

    The side effect of this change can be that users
    can expect the wrong control name in their scripts or
    programs while now we return the correct one.

    Probably, these defines should use get_unaligned_le16 and
    friends.

    Signed-off-by: Julian Anastasov
    Cc:
    Signed-off-by: Takashi Iwai

    Julian Anastasov
     
  • SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Takashi Iwai

    Thomas Gleixner
     

06 Nov, 2009

3 commits

  • Added the missing clk_enable after acquiring the 'audio-bus' clock.

    Signed-off-by: Jassi Brar
    Signed-off-by: Mark Brown

    Jassi Brar
     
  • After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c,
    omap_pcm_prepare() unconditionally calls:

    omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);
    omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);

    Current implementation of those two functions found in
    arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at
    all, so they both end with BUG() on that machine. That results in
    ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta.

    The patch corrects the problem by not calling those two functions when run on
    OMAP1 class based machines.

    Created against linux-2.6.32-rc5.
    Tested on Amstrad Delta.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Jarkko Nikula
    Signed-off-by: Mark Brown

    Janusz Krzysztofik
     
  • Function hp_bseries_system() is always used, outside of
    CONFIG_ boundaries/controls, so move it.

    sound/pci/hda/patch_sigmatel.c:5458: error: implicit declaration of function 'hp_bseries_system'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Takashi Iwai

    Randy Dunlap
     

05 Nov, 2009

2 commits


04 Nov, 2009

2 commits

  • The XO-1.5 laptop now has a unique subvendor/subproduct ID, which can
    be used to automatically select the correct CXT5066 configuration.

    Signed-off-by: Daniel Drake
    Signed-off-by: Takashi Iwai

    Daniel Drake
     
  • This patch enables GPIO to control mute LED indicator on the HP systems
    with the special string in BIOS and applies it with the correct polarity on
    HP B-series systems.

    It also restores configuration of the pin intended as the second Headphone
    on HP B-series systems but configured as something else in the BIOS to
    pass MS DTM.

    Signed-off-by: Vitaliy Kulikov
    Signed-off-by: Takashi Iwai

    Vitaliy Kulikov
     

03 Nov, 2009

2 commits

  • * 'fixes-s3c-2632-rc5' of git://git.fluff.org/bjdooks/linux:
    ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c
    ARM: S3C2440: mini2440: Fix spare warnings
    ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c
    ARM: S3C2440: mini2440: Fix missing CONFIG_S3C_DEV_USB_HOST
    ARM: S3C24XX: arch/arm/plat-s3c24xx: Move dereference after NULL test
    ARM: S3C: Fix adc function exports
    ARM: S3C2410: Fix link if CONFIG_S3C2410_IOTIMING is not set
    ARM: S3C24XX: Introduce S3C2442B CPU
    ARM: S3C24XX: Define a macro to avoid compilation error
    ARM: S3C: Add info for supporting circular DMA buffers
    ARM: S3C64XX: Set rate of crystal mux
    ARM: S3C64XX: Fix S3C64XX_CLKDIV0_ARM_MASK value

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Don't check invalid HP pin
    ALSA: dummy - Fix descriptions of pcm_substreams parameter
    ALSA: pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (sound)
    ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268
    sound: via82xx: deactivate DXS controls of inactive streams
    ALSA: snd-usb-caiaq: Bump version number to 1.3.20
    ALSA: snd-usb-caiaq: Lock on stream start/unpause
    ALSA: snd-usb-caiaq: Missing lock around use of buffer positions
    ALSA: sound/parisc: Move dereference after NULL test
    ALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests
    ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller
    ALSA: pcsp - Fix nforce workaround
    ALSA: SND_CS5535AUDIO: Remove the X86 platform dependency
    ASoC: Amstrad Delta: add info about the line discipline requirement to Kconfig help text
    ASoC: Fix possible codec_dai->ops NULL pointer problems
    ALSA: hda - Fix capture source checks for ALC662/663 codecs
    ASoC: Serialize access to dapm_power_widgets()

    Linus Torvalds
     

02 Nov, 2009

6 commits


30 Oct, 2009

9 commits

  • Activate the DXS volume controls only when the corresponding stream is
    being used. This makes the behaviour consistent with the other drivers
    that have per-stream volume controls.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • Fix a bug which can result in white noise from the driver after stream
    start or unpause.

    Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • Fix a race which causes snd_pcm_update_hw_ptr_pos() to report a bug.

    Signed-off-by: Mark Hills
    Acked-by: Daniel Mack
    Signed-off-by: Takashi Iwai

    Mark Hills
     
  • If the NULL test on h is needed in snd_harmony_mixer_init, then the
    dereference should be after the NULL test.

    Actually, there is a sequence of calls: snd_harmony_create, then
    snd_harmony_pcm_init, and then snd_harmony_mixer_init. snd_harmony_create
    initializes h, but may indeed leave it as NULL. There was no NULL test at
    the beginning of snd_harmony_pcm_init, so I have added one. The NULL test
    in snd_harmony_mixer_init is then not necessary, but in case the ordering
    of the calls changes, I have left it, and moved the dereference after it.

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

    //
    @match exists@
    expression x, E;
    identifier fld;
    @@

    * x->fld
    ... when != \(x = E\|&x\)
    * x == NULL
    //

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

    Julia Lawall
     
  • In pcm.c, if the NULL test on pcm is needed, then the dereference should be
    after the NULL test.

    In dummy.c and ali5451.c, the context of the calls to
    snd_card_dummy_new_mixer and snd_ali_free_voice show that dummy and pvoice,
    respectively cannot be NULL.

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

    //
    @match exists@
    expression x, E;
    identifier fld;
    @@

    * x->fld
    ... when != \(x = E\|&x\)
    * x == NULL
    //

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

    Julia Lawall
     
  • Add the generic device ID for NVIDIA HDA controller.

    Signed-off-by: Peer Chen
    Signed-off-by: Takashi Iwai

    peer chen
     
  • The attached patch fixes the problems introduced in this commit:
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea0579fc85e64e9f05361d5aacf496fe7a151aa

    - Fix nForce workaround by honouring the pointer_update var
    - Revert "ns" to u64, as per the hrtimer API
    - Revert to the zero-delay timer startup, since I can't reproduce any
    problem with it (please, give me the hint!)

    Signed-off-by: Stas Sergeev
    Signed-off-by: Takashi Iwai

    Stas Sergeev
     
  • SND_CS5535AUDIO is available on Loongson(MIPS compatible) family
    machines, and checked it with ARCH=x86_64, no relative compiling
    warnings & errors, so, remove the platform dependency directly.

    Reported-by: rixed@happyleptic.org
    Acked-by: Andres Salomon
    Signed-off-by: Wu Zhangjin
    Signed-off-by: Takashi Iwai

    Wu Zhangjin
     

29 Oct, 2009

1 commit

  • The S3C64XX DMA implementation will work a lot better with the ability
    to enqueue circular buffers as the hardware can do it's own linked-list
    management.

    Add a function s3c_dma_has_circular() to show that the system can do this
    and a flag for the channel.

    Update the s3c24xx/s3c64xx I2S DMA code to deal with this.

    Signed-off-by: Ben Dooks
    Signed-off-by: Ben Dooks
    Acked-by: Mark Brown

    Ben Dooks
     

27 Oct, 2009

1 commit