1. 08 Feb, 2013 2 commits
  2. 06 Feb, 2013 13 commits
  3. 17 Jan, 2013 3 commits
  4. 16 Jan, 2013 3 commits
  5. 04 Jan, 2013 9 commits
  6. 03 Jan, 2013 10 commits
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 5f738967
      Linus Torvalds authored
      Pull pinctrl fixes from Linus Walleij:
       "A first round of pinctrl fixes for v3.8:
         - i.MX5 register configuration
         - Swap a kfree to devm_kfree() to avoid memory corruption in the at91
           driver
         - Add the missing device tree binding doc for the SIRF pin controller
         - Enable the SIRF GPIO pull up/down configuration from the device
           tree, it was previously retired from the hard-coded approach.
         - NULL check for the prcm_base in the Nomadik pin controller.
         - Provide the prcm_base from the device tree in the DT boot path for
           the Nomadik pin controller."
      
      * tag 'pinctrl-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        ARM: ux500: add pinctrl address resources
        pinctrl: nomadik: return if prcm_base is NULL
        pinctrl: sirf: enable GPIO pullup/down configuration from dts
        pinctrl: sirf: add missing DT-binding document
        pinctrl: fix comment mistake
        drivers/pinctrl/pinctrl-at91.c: convert kfree to devm_kfree
        pinctrl: imx5: fix GPIO_8 pad CAN1_RXCAN configuration
      5f738967
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 2318aa27
      Linus Torvalds authored
      Pull f2fs bug fixes from Jaegeuk Kim:
       "This patch-set includes two major bug fixes:
         - incorrect IUsed provided by *df -i*, and
         - lookup failure of parent inodes in corner cases.
      
        [Other Bug Fixes]
         - Fix error handling routines
         - Trigger recovery process correctly
         - Resolve build failures due to missing header files
      
        [Etc]
         - Add a MAINTAINERS entry for f2fs
         - Fix and clean up variables, functions, and equations
         - Avoid warnings during compilation"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: unify string length declarations and usage
        f2fs: clean up unused variables and return values
        f2fs: clean up the start_bidx_of_node function
        f2fs: remove unneeded variable from f2fs_sync_fs
        f2fs: fix fsync_inode list addition logic and avoid invalid access to memory
        f2fs: remove unneeded initialization of nr_dirty in dirty_seglist_info
        f2fs: handle error from f2fs_iget_nowait
        f2fs: fix equation of has_not_enough_free_secs()
        f2fs: add MAINTAINERS entry
        f2fs: return a default value for non-void function
        f2fs: invalidate the node page if allocation is failed
        f2fs: add missing #include <linux/prefetch.h>
        f2fs: do f2fs_balance_fs in front of dir operations
        f2fs: should recover orphan and fsync data
        f2fs: fix handling errors got by f2fs_write_inode
        f2fs: fix up f2fs_get_parent issue to retrieve correct parent inode number
        f2fs: fix wrong calculation on f_files in statfs
        f2fs: remove set_page_dirty for atomic f2fs_end_io_write
      2318aa27
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes · ed4e6a94
      Linus Torvalds authored
      Pull GFS2 fixes from Steven Whitehouse:
       "Here are four small bug fixes for GFS2.  There is no common theme here
        really, just a few items that were fixed recently.
      
        The first fixes lock name generation when the glock number is 0.  The
        second fixes a race allocating reservation structures and the final
        two fix a performance issue by making small changes in the allocation
        code."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:
        GFS2: Reset rd_last_alloc when it reaches the end of the rgrp
        GFS2: Stop looking for free blocks at end of rgrp
        GFS2: Fix race in gfs2_rs_alloc
        GFS2: Initialize hex string to '0'
      ed4e6a94
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 22f4f7b5
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a couple of small powerpc fixes.  They aren't new bugs (and
        they are both CCed to stable) but I didn't see the point of sitting on
        the fixes any longer."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Add missing NULL terminator to avoid boot panic on PPC40x
        powerpc/vdso: Remove redundant locking in update_vsyscall_tz()
      22f4f7b5
    • Luck, Tony's avatar
      Wire up finit_module syscall · 062fe95a
      Luck, Tony authored
      Linux was granted a new system call to load modules by file descriptor
      in commit 34e1169d ("module: add syscall to load module from fd").
      
      Wire it up for ia64 (ready for the Chrome port :-)
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      062fe95a
    • Gabor Juhos's avatar
      powerpc: Add missing NULL terminator to avoid boot panic on PPC40x · e6449c9b
      Gabor Juhos authored
      The missing NULL terminator can cause a panic on
      PPC405 boards during boot:
      
        Linux/PowerPC load: console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit
        Finalizing device tree... flat tree at 0x6a5160
        bootconsole [udbg0] enabled
        Page fault in user mode with in_atomic() = 1 mm = (null)
        NIP = c0275f50  MSR = fffffffe
        Oops: Weird page fault, sig: 11 [#1]
        PowerPC 40x Platform
        Modules linked in:
        NIP: c0275f50 LR: c0275f60 CTR: c0280000
        REGS: c0275eb0 TRAP: 636f7265   Not tainted  (3.7.1)
        MSR: fffffffe <VEC,VSX,EE,PR,FP,ME,SE,BE,IR,DR,PMM,RI> CR: c06a6190  XER: 00000001
        TASK = c02662a8[0] 'swapper' THREAD: c0274000
        GPR00: c0275ec0 c000c658 c027c4bf 00000000 c0275ee0 c000a0ec c020a1a8 c020a1f0
        GPR08: c020f631 c020f404 c025f078 c025f080 c0275f10
         Call Trace:
         ---[ end trace 31fd0ba7d8756001 ]---
      
        Kernel panic - not syncing: Attempted to kill the idle task!
      
      The panic happens since commit 9597abe0
      (sections: fix section conflicts in arch/powerpc), however the root
      cause of this is that the NULL terminator were not added in commit
      a4f740cf (of/flattree: Add of_flat_dt_match()
      helper function).
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: Benjamin Herrenschmidt's avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e6449c9b
    • Shan Hai's avatar
      powerpc/vdso: Remove redundant locking in update_vsyscall_tz() · ce73ec6d
      Shan Hai authored
      The locking in update_vsyscall_tz() is not only unnecessary because the vdso
      code copies the data unproteced in __kernel_gettimeofday() but also
      introduces a hard to reproduce race condition between update_vsyscall()
      and update_vsyscall_tz(), which causes user space process to loop
      forever in vdso code.
      
      The following patch removes the locking from update_vsyscall_tz().
      
      Locking is not only unnecessary because the vdso code copies the data
      unprotected in __kernel_gettimeofday() but also erroneous because updating
      the tb_update_count is not atomic and introduces a hard to reproduce race
      condition between update_vsyscall() and update_vsyscall_tz(), which further
      causes user space process to loop forever in vdso code.
      
      The below scenario describes the race condition,
      x==0	Boot CPU			other CPU
      	proc_P: x==0
      	    timer interrupt
      		update_vsyscall
      x==1		    x++;sync		settimeofday
      					    update_vsyscall_tz
      x==2						x++;sync
      x==3		    sync;x++
      						sync;x++
      	proc_P: x==3 (loops until x becomes even)
      
      Because the ++ operator would be implemented as three instructions and not
      atomic on powerpc.
      
      A similar change was made for x86 in commit 6c260d58
      ("x86: vdso: Remove bogus locking in update_vsyscall_tz")
      Signed-off-by: default avatarShan Hai <shan.hai@windriver.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: Benjamin Herrenschmidt's avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ce73ec6d
    • Linus Torvalds's avatar
      Linux 3.8-rc2 · d1c3ed66
      Linus Torvalds authored
      d1c3ed66
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · d50403dc
      Linus Torvalds authored
      Pull LED fix from Bryan Wu.
      
      * 'fixes-for-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: leds-gpio: set devm_gpio_request_one() flags param correctly
      d50403dc
    • Javier Martinez Canillas's avatar
      leds: leds-gpio: set devm_gpio_request_one() flags param correctly · 2d7c22f6
      Javier Martinez Canillas authored
      commit a99d76f9 leds: leds-gpio: use gpio_request_one
      
      changed the leds-gpio driver to use gpio_request_one() instead
      of gpio_request() + gpio_direction_output()
      
      Unfortunately, it also made a semantic change that breaks the
      leds-gpio driver.
      
      The gpio_request_one() flags parameter was set to:
      
      GPIOF_DIR_OUT | (led_dat->active_low ^ state)
      
      Since GPIOF_DIR_OUT is 0, the final flags value will just be the
      XOR'ed value of led_dat->active_low and state.
      
      This value were used to distinguish between HIGH/LOW output initial
      level and call gpio_direction_output() accordingly.
      
      With this new semantic gpio_request_one() will take the flags value
      of 1 as a configuration of input direction (GPIOF_DIR_IN) and will
      call gpio_direction_input() instead of gpio_direction_output().
      
      int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
      {
      ..
      	if (flags & GPIOF_DIR_IN)
      		err = gpio_direction_input(gpio);
      	else
      		err = gpio_direction_output(gpio,
      				(flags & GPIOF_INIT_HIGH) ? 1 : 0);
      ..
      }
      
      The right semantic is to evaluate led_dat->active_low ^ state and
      set the output initial level explicitly.
      Signed-off-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Reported-by: rtp's avatarArnaud Patard <arnaud.patard@rtp-net.org>
      Tested-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      2d7c22f6