1. 22 Jul, 2009 1 commit
    • Linus Torvalds's avatar
      fbmon: work around compiler bug in gcc-2.4.2 · 3730793d
      Linus Torvalds authored
      
      
      There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent
      he loop counter is of type 'unsigned char' and it should count to 128.
      
      The compiler will incorrectly decide that a trivial loop like this:
      
      	unsigned char i, ...
      
      	for (i = 0; i < 128; i++) {
      		..
      
      is endless, and will compile it to a single instruction that just
      branches to itself.
      
      This was triggered by the addition of '-fno-strict-overflow', and we
      could play games with compiler versions and go back to '-fwrapv'
      instead, but the trivial way to avoid it is to just make the loop
      induction variable be an 'int' instead.
      
      Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure
      for digging through assembler differences and finding it.
      Reported-and-tested-by: default avatarKrzysztof Oledzki <olel@ans.pl>
      Found-by: default avatarTroy Moure <twmoure@szypr.net>
      Gcc-bug-acked-by: default avatarIan Lance Taylor <iant@google.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3730793d
  2. 20 Jul, 2009 10 commits
  3. 18 Jul, 2009 2 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · a7571a5c
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: Realview & Versatile: Fix i2c_board_info definitions
        [ARM] 5608/1: Updated U300 defconfig
        [ARM] 5606/1: Fix ep93xx watchdog driver headers
        [ARM] 5594/1: Correct U300 VIC init PM setting
        [ARM] 5595/1: ep93xx: missing header in dma-m2p.c
        [ARM] Kirkwood: Correct header define
        [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines
        backlight: fix pwm_bl.c to notify platform code when suspending
        [ARM] pxa: use kzalloc() in pxa_init_gpio_chip()
        [ARM] pxa: correct I2CPWR clock for pxa3xx
        pxamci: correct DMA flow control
        ARM: add support for the EET board, based on the i.MX31 pcm037 module
        pcm037: add MT9T031 camera support
        Armadillo 500 add NAND flash device support (resend).
        ARM MXC: Armadillo 500 add NOR flash device support (resend).
        mx31: remove duplicated #include
      a7571a5c
    • Russell King's avatar
      ARM: Realview & Versatile: Fix i2c_board_info definitions · 64e8be6e
      Russell King authored
      
      
      Fix i2c_board_info definitions - we were defining the 'type' field
      of these structures twice since the first argument of I2C_BOARD_INFO
      sets this field.  Move the second definition into I2C_BOARD_INFO().
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: default avatarJean Delvare <khali@linux-fr.org>
      Acked-by: default avatarBen Dooks <ben-linux@fluff.org>
      64e8be6e
  4. 17 Jul, 2009 24 commits
  5. 16 Jul, 2009 3 commits
    • Xiao Guangrong's avatar
      tracing/function: Fix the return value of ftrace_trace_onoff_callback() · 04aef32d
      Xiao Guangrong authored
      
      
      ftrace_trace_onoff_callback() will return an error even if we do the
      right operation, for example:
      
       # echo _spin_*:traceon:10 > set_ftrace_filter
       -bash: echo: write error: Invalid argument
       # cat set_ftrace_filter
       #### all functions enabled ####
       _spin_trylock_bh:traceon:count=10
       _spin_unlock_irq:traceon:count=10
       _spin_unlock_bh:traceon:count=10
       _spin_lock_irq:traceon:count=10
       _spin_unlock:traceon:count=10
       _spin_trylock:traceon:count=10
       _spin_unlock_irqrestore:traceon:count=10
       _spin_lock_irqsave:traceon:count=10
       _spin_lock_bh:traceon:count=10
       _spin_lock:traceon:count=10
      
      We want to set _spin_*:traceon:10 to set_ftrace_filter, it complains
      with "Invalid argument", but the operation is successful.
      
      This is because ftrace_process_regex() returns the number of functions that
      matched the pattern. If the number is not 0, this value is returned
      by ftrace_regex_write() whereas we want to return the number of bytes
      virtually written.
      Also the file offset pointer is not updated in this case.
      
      If the number of matched functions is lower than the number of bytes written
      by the user, this results to a reprocessing of the string given by the user with
      a lower size, leading to a malformed ftrace regex and then a -EINVAL returned.
      
      So, this patch fixes it by returning 0 if no error occured.
      The fix also applies on 2.6.30
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      04aef32d
    • Mike Frysinger's avatar
      Blackfin: define HARDIRQ_BITS again for now · 6843f405
      Mike Frysinger authored
      
      
      The default values of HARDIRQ_BITS and PREEMPT_BITS in common code leads to
      build failure:
      
      In file included from include/linux/interrupt.h:12,
                      from include/linux/kernel_stat.h:8,
                      from arch/blackfin/kernel/asm-offsets.c:32:
      include/linux/hardirq.h:66:2: error: #error PREEMPT_ACTIVE is too low!
      
      So until that gets resolved, just declare our own default value again.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      6843f405
    • Linus Torvalds's avatar
      Merge branch 'sched-fixes-for-linus' of... · 4b0a8404
      Linus Torvalds authored
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched:
        sched: Fix bug in SCHED_IDLE interaction with group scheduling
        sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq()
        sched: Reset sched stats on fork()
        sched_rt: Fix overload bug on rt group scheduling
        sched: Documentation/sched-rt-group: Fix style issues & bump version
      4b0a8404