1. 08 10月, 2009 1 次提交
  2. 05 10月, 2009 34 次提交
  3. 04 10月, 2009 5 次提交
    • L
      Merge branch 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev · 8a0382f6
      Linus Torvalds 提交于
      * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
        m32r: Fix IPI function calls for SMP
        m32r: Fix set_memory() for DISCONTIGMEM
        m32r: add rtc_lock variable
        m32r: define ioread* and iowrite* macros
        m32r: export delay loop symbols
        m32r: fix tme_handler
      8a0382f6
    • L
      tty: Avoid dropping ldisc_mutex over hangup tty re-initialization · 0b5759c6
      Linus Torvalds 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Reported-by: NHeinz Diehl <htd@fancy-poultry.org>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0b5759c6
    • T
      m32r: Fix IPI function calls for SMP · 0a3d31b7
      Toshihiro HANAWA 提交于
      This patch fixes the m32r SMP kernel after 2.6.27.
      
      A part of the following patch breaks m32r SMP operation.
      > m32r: convert to generic helpers for IPI function calls
      > commit 7b7426c8
      
      In the above patch, a CALL_FUNC_SINGLE_IPI was newly introduced,
      but the its IPI vector number was wrong in the patch code.
      
      The m32r SMP kernel hanged-up during boot operation, because
      the CPU_BOOT_IPI was called instead of CALL_FUNC_SINGLE_IPI
      (CPU_BOOT_IPI had no side effect at that time because the 2nd
      core had already been started up),
      as a result, csd_unlock() was not called, then a dead lock
      occurred in csd_lock_wait() after the detection of Compact Flash
      memory as IDE generic disk.
      Signed-off-by: NToshihiro HANAWA <hanawa@ccs.tsukuba.ac.jp>
      Signed-off-by: NHirokazu Takata <takata@linux-m32r.org>
      0a3d31b7
    • H
      m32r: Fix set_memory() for DISCONTIGMEM · 6b6fabce
      Hirokazu Takata 提交于
      In case CONFIG_DISCONTIGMEM is set, the memory size of system was
      always determined by CONFIG_MEMORY_SIZE and was not changeable.
      
      This patch fixes set_memory() of arch/m32r/mm/discontig.c so that
      we can specify memory size by the "mem=<size>" kernel parameter.
      Signed-off-by: NHirokazu Takata <takata@linux-m32r.org>
      6b6fabce
    • H
      m32r: add rtc_lock variable · bac33bd5
      Hirokazu Takata 提交于
      Add a spinlock variable "rtc_lock".
      This is taken from arch/arm/kernel/time.c.
      Signed-off-by: NHirokazu Takata <takata@linux-m32r.org>
      bac33bd5