Skip to content
  1. Oct 04, 2009
    • Linus Torvalds's avatar
      tty: Avoid dropping ldisc_mutex over hangup tty re-initialization · 0b5759c6
      Linus Torvalds authored
      A couple of people have hit the WARN_ON() in drivers/char/tty_io.c,
      tty_open() that is unhappy about seeing the tty line discipline go away
      during the tty hangup. See for example
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=14255
      
      
      
      and the reason is that we do the tty_ldisc_halt() outside the
      ldisc_mutex in order to be able to flush the scheduled work without a
      deadlock with vhangup_work.
      
      However, it turns out that we can solve this particular case by
      
       - using "cancel_delayed_work_sync()" in tty_ldisc_halt(), which waits
         for just the particular work, rather than synchronizing with any
         random outstanding pending work.
      
         This won't deadlock, since the buf.work we synchronize with doesn't
         care about the ldisc_mutex, it just flushes the tty ldisc buffers.
      
       - realize that for this particular case, we don't need to wait for any
         hangup work, because we are inside the hangup codepaths ourselves.
      
      so as a result we can just drop the flush_scheduled_work() entirely, and
      then move the tty_ldisc_halt() call to inside the mutex.  That way we
      never expose the partially torn down ldisc state to tty_open(), and hold
      the ldisc_mutex over the whole sequence.
      
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Reported-by: default avatarHeinz Diehl <htd@fancy-poultry.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b5759c6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · f0a221ef
      Linus Torvalds authored
      * 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (21 commits)
        ALSA: usb - Use strlcat() correctly
        ALSA: Fix invalid __exit in sound/mips/*.c
        ALSA: hda - Fix / improve ALC66x parser
        ALSA: ctxfi: Swapped SURROUND-SIDE mute
        sound: Make keywest_driver static
        ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-B1VP
        ALSA: hda - Fix digita/analog mic auto-switching with IDT codecs
        ASoC: fix kconfig order of Blackfin drivers
        ALSA: hda - Added quirk to enable sound on Toshiba NB200
        ASoC: Fix dependency of CONFIG_SND_PXA2XX_SOC_IMOTE2
        ALSA: Don't assume i2c device probing always succeeds
        ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-T350P
        ALSA: echoaudio - Re-enable the line-out control for the Mia card
        ALSA: hda - Resurrect input-source mixer of ALC268 model=acer
        ALSA: hda - Analog Devices AD1984A add HP Touchsmart model
        ALSA: hda - Add HP Pavilion dv4t-1300 to MSI whitelist
        ALSA: hda - CD-audio sound for hda-intel conexant benq laptop
        ASoC: DaVinci: Correct McASP FIFO initialization
        ASoC: Davinci: Fix race with cpu_dai->dma_data
        ASoC: DaVinci: Fix divide by zero error during 1st execution
        ...
      f0a221ef
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 9117703f
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        [PATCH] ext4: retry failed direct IO allocations
        ext4: Fix build warning in ext4_dirty_inode()
        ext4: drop ext4dev compat
        ext4: fix a BUG_ON crash by checking that page has buffers attached to it
      9117703f
    • Takashi Iwai's avatar
      Merge branch 'fix/hda' into for-linus · 7fa9742b
      Takashi Iwai authored
      7fa9742b
    • Takashi Iwai's avatar
      Merge branch 'fix/asoc' into for-linus · a1cb9cd6
      Takashi Iwai authored
      a1cb9cd6
  2. Oct 03, 2009
  3. Oct 02, 2009