29 Sep, 2008

2 commits

  • Conversion to new-style i2c driver missed the error path of the
    probe function. Fix it.

    Signed-off-by: Jean Delvare
    Cc: Timur Tabi
    Signed-off-by: Takashi Iwai

    Jean Delvare
     
  • Update the CS4270 ALSA device driver to use the new-style I2C interface.
    Starting with the 2.6.27 PowerPC kernel, I2C devices that have entries in the
    device trees can no longer be probed by old-style I2C drivers. The device
    tree for Freescale MPC8610 HPCD has included an entry for the CS4270 since
    2.6.25, but that entry was previously ignored by the PowerPC I2C subsystem.
    Since that's no longer the case, the best solution is to update the CS4270
    driver to a new-style interface, rather than try to revert the behavior of
    new PowerPC I2C subsystem.

    Signed-off-by: Timur Tabi
    Signed-off-by: Takashi Iwai

    Timur Tabi
     

25 Sep, 2008

2 commits

  • The power_mutex lock in snd_pcm_drop may cause a possible deadlock
    chain, and above all, it's unneeded. Let's get rid of it.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The PCM and rawmidi open callbacks have a lock against card->controls_list
    but it takes a wrong one, card->controls_rwsem, instead of a right one
    card->ctl_files_rwlock. This patch fixes them.

    This change also fixes automatically the potential deadlocks due to
    mm->mmap_sem in munmap and copy_from/to_user, reported by Sitsofe
    Wheeler:

    A: snd_ctl_elem_user_tlv(): card->controls_rwsem => mm->mmap_sem
    B: snd_pcm_open(): card->open_mutex => card->controls_rwsem
    C: munmap: mm->mmap_sem => snd_pcm_release(): card->open_mutex

    The patch breaks the chain.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

22 Sep, 2008

1 commit


06 Sep, 2008

1 commit

  • CONFIG_AC97_BUS is used from both sound and ucb1400 drivers.
    The recent change in Kconfig introduced the exclusive dependency on
    CONFIG_SOUND, and disabled the ucb1400 build without sound.
    This patch makes CONFIG_AC97_BUS independent.

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

    Takashi Iwai
     

02 Sep, 2008

2 commits


01 Sep, 2008

2 commits


29 Aug, 2008

1 commit

  • When changing the sample rate, the CMI8788's master clock output becomes
    unstable for a short time. The AK4396 needs the master clock to do SPI
    writes, so writing to an AK4396 control register directly after a sample
    rate change will garble the value. In our case, this leads to the DACs
    being misconfigured to I2S sample format, which results in a wrong
    output level and horrible distortions on samples louder than -6 dB.

    To fix this, we need to wait until the new master clock signal has
    become stable before doing SPI writes.

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

    Clemens Ladisch
     

27 Aug, 2008

1 commit

  • This reverts commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b.

    The patch introduced a wrong detection of other intel Macs with
    ALC88* codec because they share the same PCI SSID (but have different
    codec subsystem-IDs). See http://lkml.org/lkml/2008/8/24/143

    Reported-and-tested-by: Guillaume Chazarain
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

26 Aug, 2008

4 commits


25 Aug, 2008

2 commits

  • Many SoC audio codec drivers have improper freeing of memory in error
    paths.

    * codec is allocated in the platform device probe function, but is not
    freed there in case of error. Instead it is freed in the i2c device
    probe function's error path. However the success or failure of both
    functions is not linked, so this could result in a double free (if
    the platform device is successfully probed, the i2c device probing
    fails and then the platform driver is unregistered.)

    * codec->private_data is allocated in many platform device probe
    functions but not freed in their error paths.

    This patch hopefully solves all these problems.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai

    Jean Delvare
     
  • Correct a previous patch for the ca0106 onboard the MSI K8N Diamond PLUS
    motherboard. Confirmed to have Line/Mic/Aux working for input, and sound
    output working as expected.

    Signed-off-by: Travis Place
    Signed-off-by: Takashi Iwai

    Travis Place
     

24 Aug, 2008

1 commit


22 Aug, 2008

1 commit


21 Aug, 2008

1 commit


17 Aug, 2008

1 commit

  • On some Realtek codecs like ALC882 or ALC883, the capture source is
    no mux but sum widget. We have to initialize all channels properly
    for this type, otherwise noises may come in from the unused route.

    The patch assures to mute unused routes, and unmute the currently
    selected route.

    Signed-off-by: Takashi Iwai
    Tested-by: Daniel J Blueman

    Takashi Iwai
     

15 Aug, 2008

2 commits


14 Aug, 2008

1 commit


12 Aug, 2008

4 commits


11 Aug, 2008

1 commit


09 Aug, 2008

1 commit

  • Conflicts:

    drivers/watchdog/at91rm9200_wdt.c
    drivers/watchdog/davinci_wdt.c
    drivers/watchdog/ep93xx_wdt.c
    drivers/watchdog/ixp2000_wdt.c
    drivers/watchdog/ixp4xx_wdt.c
    drivers/watchdog/ks8695_wdt.c
    drivers/watchdog/omap_wdt.c
    drivers/watchdog/pnx4008_wdt.c
    drivers/watchdog/sa1100_wdt.c
    drivers/watchdog/wdt285.c

    Russell King
     

08 Aug, 2008

1 commit


07 Aug, 2008

6 commits


05 Aug, 2008

1 commit


04 Aug, 2008

1 commit

  • If an OSS application calls SNDCTL_DSP_SYNC, then ALSA will call the driver's
    _hw_params and _prepare functions again. On the Freescale MPC8610 DMA ASoC
    driver, this caused the DMA controller to be unneccessarily re-programmed, and
    apparently it doesn't like that. The DMA will then not operate when
    instructed. This patch relocates much of the DMA programming to
    fsl_dma_open(), which is called only once.

    Signed-off-by: Timur Tabi
    Signed-off-by: Takashi Iwai

    Timur Tabi