Commits on Apr 8, 2012
  1. Linux 3.4-rc2

    torvalds committed Apr 8, 2012
Commits on Apr 7, 2012
  1. Merge tag 'regmap-3.4-fixes' of git://…

    torvalds committed Apr 7, 2012
    Pull two more small regmap fixes from Mark Brown:
     - Now we have users for it that aren't running Android it turns out
       that regcache_sync_region() is much more useful to drivers if it's
       exported for use by modules.  Who knew?
     - Make sure we don't divide by zero when doing debugfs dumps of
       rbtrees, not visible up until now because everything was providing at
       least some cache on startup.
    * tag 'regmap-3.4-fixes' of git://
      regmap: prevent division by zero in rbtree_show
      regmap: Export regcache_sync_region()
  2. Merge branch 'kvm-updates/3.4' of git://…

    torvalds committed Apr 7, 2012
    Pull a few KVM fixes from Avi Kivity:
     "A bunch of powerpc KVM fixes, a guest and a host RCU fix (unrelated),
      and a small build fix."
    * 'kvm-updates/3.4' of git://
      KVM: Resolve RCU vs. async page fault problem
      KVM: VMX: vmx_set_cr0 expects kvm->srcu locked
      KVM: PMU: Fix integer constant is too large warning in kvm_pmu_set_msr()
      KVM: PPC: Book3S: PR: Fix preemption
      KVM: PPC: Save/Restore CR over vcpu_run
      KVM: PPC: Book3S HV: Save and restore CR in __kvmppc_vcore_entry
      KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears exist
      KVM: PPC: Book3S: Compile fix for ppc32 in HIOR access code
  3. Merge tag 'sh-for-linus' of git://

    torvalds committed Apr 7, 2012
    Pull SuperH fixes from Paul Mundt.
    * tag 'sh-for-linus' of git://
      sh: fix clock-sh7757 for the latest sh_mobile_sdhi driver
      serial: sh-sci: use serial_port_in/out vs sci_in/out.
      sh: vsyscall: Fix up .eh_frame generation.
      sh: dma: Fix up device attribute mismatch from sysdev fallout.
      sh: dwarf unwinder depends on SHcompact.
      sh: fix up fallout from system.h disintegration.
  4. Merge branch 'for-linus' of git://…

    torvalds committed Apr 7, 2012
    Pull security layer fixlet from James Morris.
    * 'for-linus' of git://
      sysctl: fix write access to dmesg_restrict/kptr_restrict
  5. Merge branch 'release' of git://…

    torvalds committed Apr 7, 2012
    Pull ACPI & Power Management patches from Len Brown:
     "Two fixes for cpuidle merge-window changes, plus a URL fix in
    * 'release' of git://
      MAINTAINERS: Update git url for ACPI
      cpuidle: Fix panic in CPU off-lining with no idle driver
      ACPI processor: Use safe_halt() rather than halt() in acpi_idle_play_dead()
  6. Merge branch '3.4-rc-fixes' of git://…

    torvalds committed Apr 7, 2012
    Pull target fixes from Nicholas Bellinger:
     "Pull two tcm_fc fabric related fixes for -rc2:
      Note that both have been CC'ed to stable, and patch #1 is the
      important one that addresses a memory corruption bug related to FC
      exchange timeouts + command abort.
      Thanks again to MDR for tracking down this issue!"
    * '3.4-rc-fixes' of git://
      tcm_fc: Do not free tpg structure during wq allocation failure
      tcm_fc: Add abort flag for gracefully handling exchange timeout
  7. Merge branch 'stable' of git://…

    torvalds committed Apr 7, 2012
    Pull arch/tile bug fixes from Chris Metcalf:
     "This includes Paul Gortmaker's change to fix the <asm/system.h>
      disintegration issues on tile, a fix to unbreak the tilepro ethernet
      driver, and a backlog of bugfix-only changes from internal Tilera
      development over the last few months.
      They have all been to LKML and on linux-next for the last few days.
      The EDAC change to MAINTAINERS is an oddity but discussion on the
      linux-edac list suggested I ask you to pull that change through my
      tree since they don't have a tree to pull edac changes from at the
    * 'stable' of git:// (39 commits)
      drivers/net/ethernet/tile: fix netdev_alloc_skb() bombing
      MAINTAINERS: update EDAC information
      tilepro ethernet driver: fix a few minor issues
      tile-srom.c driver: minor code cleanup
      edac: say "TILEGx" not "TILEPro" for the tilegx edac driver
      arch/tile: avoid accidentally unmasking NMI-type interrupt accidentally
      arch/tile: remove bogus performance optimization
      arch/tile: return SIGBUS for addresses that are unaligned AND invalid
      arch/tile: fix finv_buffer_remote() for tilegx
      arch/tile: use atomic exchange in arch_write_unlock()
      arch/tile: stop mentioning the "kvm" subdirectory
      arch/tile: export the page_home() function.
      arch/tile: fix pointer cast in cacheflush.c
      arch/tile: fix single-stepping over swint1 instructions on tilegx
      arch/tile: implement panic_smp_self_stop()
      arch/tile: add "nop" after "nap" to help GX idle power draw
      arch/tile: use proper memparse() for "maxmem" options
      arch/tile: fix up locking in pgtable.c slightly
      arch/tile: don't leak kernel memory when we unload modules
      arch/tile: fix bug in delay_backoff()
  8. Merge tag 'stable/for-linus-3.4-rc1-tag' of git://…

    torvalds committed Apr 7, 2012
    Pull xen fixes from Konrad Rzeszutek Wilk:
     "Two fixes for regressions:
       * one is a workaround that will be removed in v3.5 with proper fix in
         the tip/x86 tree,
       * the other is to fix drivers to load on PV (a previous patch made
         them only load in PVonHVM mode).
      The rest are just minor fixes in the various drivers and some cleanup
      in the core code."
    * tag 'stable/for-linus-3.4-rc1-tag' of git://
      xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success
      xen/pciback: fix XEN_PCI_OP_enable_msix result
      xen/smp: Remove unnecessary call to smp_processor_id()
      xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'
      xen: only check xen_platform_pci_unplug if hvm
  9. Merge tag 'mmc-fixes-for-3.4-rc2' of git://…

    torvalds committed Apr 7, 2012
    Pull MMC fixes from Chris Ball:
     - Disable use of MSI in sdhci-pci, which caused multiple chipsets to
       stop working in 3.4-rc1.  I'll wait to turn this on again until we
       have a chipset whitelist for it.
     - Fix a libertas SDIO powered-resume regression introduced in 3.3;
       thanks to Neil Brown and Rafael Wysocki for this fix.
     - Fix module reloading on omap_hsmmc.
     - Stop trusting the spec/card's specified maximum data timeout length,
       and use three seconds instead.  Previously we used 300ms.
    Also cleanups and fixes for s3c, atmel, sh_mmcif and omap_hsmmc.
    * tag 'mmc-fixes-for-3.4-rc2' of git:// (28 commits)
      mmc: use really long write timeout to deal with crappy cards
      mmc: sdhci-dove: Fix compile error by including module.h
      mmc: Prevent 1.8V switch for SD hosts that don't support UHS modes.
      Revert "mmc: sdhci-pci: Add MSI support"
      Revert "mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers"
      mmc: core: fix power class selection
      mmc: omap_hsmmc: fix module re-insertion
      mmc: omap_hsmmc: convert to module_platform_driver
      mmc: omap_hsmmc: make it behave well as a module
      mmc: omap_hsmmc: trivial cleanups
      mmc: omap_hsmmc: context save after enabling runtime pm
      mmc: omap_hsmmc: use runtime put sync in probe error patch
      mmc: sdio: Use empty system suspend/resume callbacks at the bus level
      mmc: bus: print bus speed mode of UHS-I card
      mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers
      mmc: sh_mmcif: Simplify calculation of mmc->f_min
      mmc: sh_mmcif: mmc->f_max should be half of the bus clock
      mmc: sh_mmcif: double clock speed
      mmc: block: Remove use of mmc_blk_set_blksize
      mmc: atmel-mci: add support for odd clock dividers
Commits on Apr 6, 2012
  1. Make the "word-at-a-time" helper functions more commonly usable

    torvalds committed Apr 6, 2012
    I have a new optimized x86 "strncpy_from_user()" that will use these
    same helper functions for all the same reasons the name lookup code uses
    them.  This is preparation for that.
    This moves them into an architecture-specific header file.  It's
    architecture-specific for two reasons:
     - some of the functions are likely to want architecture-specific
       implementations.  Even if the current code happens to be "generic" in
       the sense that it should work on any little-endian machine, it's
       likely that the "multiply by a big constant and shift" implementation
       is less than optimal for an architecture that has a guaranteed fast
       bit count instruction, for example.
     - I expect that if architectures like sparc want to start playing
       around with this, we'll need to abstract out a few more details (in
       particular the actual unaligned accesses).  So we're likely to have
       more architecture-specific stuff if non-x86 architectures start using
       (and if it turns out that non-x86 architectures don't start using
       this, then having it in an architecture-specific header is still the
       right thing to do, of course)
    Signed-off-by: Linus Torvalds <>
  2. Merge git://

    torvalds committed Apr 6, 2012
    Pull networking updates from David Miller:
     1) Fix inaccuracies in network driver interface documentation, from Ben
     2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.
     3) Compile warning, locking, and refcounting fixes in netfilter's
        xt_CT, from Pablo Neira Ayuso.
     4) phonet sendmsg needs to validate user length just like any other
        datagram protocol, fix from Sasha Levin.
     5) Ipv6 multicast code uses wrong loop index, from RongQing Li.
     6) Link handling and firmware fixes in bnx2x driver from Yaniv Rosner
        and Yuval Mintz.
     7) mlx4 erroneously allocates 4 pages at a time, regardless of page
        size, fix from Thadeu Lima de Souza Cascardo.
     8) SCTP socket option wasn't extended in a backwards compatible way,
        fix from Thomas Graf.
     9) Add missing address change event emissions to bonding, from Shlomo
    10) /proc/net/dev regressed because it uses a private offset to track
        where we are in the hash table, but this doesn't track the offset
        pullback that the seq_file code does resulting in some entries being
        missed in large dumps.
        Fix from Eric Dumazet.
    11) do_tcp_sendpage() unloads the send queue way too fast, because it
        invokes tcp_push() when it shouldn't.  Let the natural sequence
        generated by the splice paths, and the assosciated MSG_MORE
        settings, guide the tcp_push() calls.
        Otherwise what goes out of TCP is spaghetti and doesn't batch
        effectively into GSO/TSO clusters.
        From Eric Dumazet.
    12) Once we put a SKB into either the netlink receiver's queue or a
        socket error queue, it can be consumed and freed up, therefore we
        cannot touch it after queueing it like that.
        Fixes from Eric Dumazet.
    13) PPP has this annoying behavior in that for every transmit call it
        immediately stops the TX queue, then calls down into the next layer
        to transmit the PPP frame.
        But if that next layer can take it immediately, it just un-stops the
        TX queue right before returning from the transmit method.
        Besides being useless work, it makes several facilities unusable, in
        particular things like the equalizers.  Well behaved devices should
        only stop the TX queue when they really are full, and in PPP's case
        when it gets backlogged to the downstream device.
        David Woodhouse therefore fixed PPP to not stop the TX queue until
        it's downstream can't take data any more.
    14) IFF_UNICAST_FLT got accidently lost in some recent stmmac driver
        changes, re-add.  From Marc Kleine-Budde.
    15) Fix link flaps in ixgbe, from Eric W. Multanen.
    16) Descriptor writeback fixes in e1000e from Matthew Vick.
    * git:// (47 commits)
      net: fix a race in sock_queue_err_skb()
      netlink: fix races after skb queueing
      doc, net: Update ndo_start_xmit return type and values
      doc, net: Remove instruction to set net_device::trans_start
      doc, net: Update netdev operation names
      doc, net: Update documentation of synchronisation for TX multiqueue
      doc, net: Remove obsolete reference to dev->poll
      ethtool: Remove exception to the requirement of holding RTNL lock
      MAINTAINERS: update for Marvell Ethernet drivers
      bonding: properly unset current_arp_slave on slave link up
      phonet: Check input from user before allocating
      tcp: tcp_sendpages() should call tcp_push() once
      ipv6: fix array index in ip6_mc_add_src()
      mlx4: allocate just enough pages instead of always 4 pages
      stmmac: re-add IFF_UNICAST_FLT for dwmac1000
      bnx2x: Clear MDC/MDIO warning message
      bnx2x: Fix BCM57711+BCM84823 link issue
      bnx2x: Clear BCM84833 LED after fan failure
      bnx2x: Fix BCM84833 PHY FW version presentation
      bnx2x: Fix link issue for BCM8727 boards.
  3. Merge tag 'fixes-for-linus' of git://…

    torvalds committed Apr 6, 2012
    Pull "ARM: SoC fixes: from Olof Johansson:
     "A bunch of fixes for regressions (and a few other problems) in
     - Fix for regression of mach/io.h cleanup on platforms with PCI or
       PCMCIA (adding back the include file on those for now)
     - AT91 fixes for usb and spi
     - smsc911x ethernet fixes for i.MX
     - smsc911x fixes for OMAP
     - gpio fixes for Tegra
     - A handful of build error and warning fixes for various platforms
     - cpufreq kconfig dependencies, build and lowlevel debug fixes for
       Samsung platforms
      In other words, more or less the regular collection of -rc1/2 type
      material.  A few of them, in particular the smsc911x for OMAP series,
      aren't technically regressions for 3.4, but they're valid fixes and
      we're still relatively early in the rc cycle so it seems appropriate
      to include them."
    * tag 'fixes-for-linus' of git:// (60 commits)
      ARM: fix __io macro for PCMCIA
      ARM: EXYNOS: Fix compiler warning in dma.c file
      ARM: EXYNOS: fix ISO C90 warning
      ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
      ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
      ARM: OMAP2+: hwmod: Restore sysc after a reset
      ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
      ARM: OMAP3: clock data: fill in some missing clockdomains
      ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
      ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
      ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
      gpio: tegra: Iterate over the correct number of banks
      gpio: tegra: fix register address calculations for Tegra30
      EXYNOS: fix dependency for EXYNOS_CPUFREQ
      ARM: at91: dt: remove unit-address part for memory nodes
      ARM: at91: fix check of valid GPIO for SPI and USB
      USB: ehci-atmel: add needed of.h header file
      ARM: at91/NAND DT bindings: add comments
      ARM: at91/at91sam9x5.dtsi: fix NAND ale/cle in DT file
      USB: ohci-at91: trivial return code name change
  4. Merge branch 'for-linus' of git://…

    torvalds committed Apr 6, 2012
    Pull a few blackfin compile fixes from Bob Liu.
    * 'for-linus' of git://
      blackfin: update defconfig for bf527-ezkit
      blackfin: gpio: fix compile error if !CONFIG_GPIOLIB
      blackfin: fix L1 data A overflow link issue
  5. Merge branch 'for-linus' of git://…

    torvalds committed Apr 6, 2012
    Pull an APM fix from Jiri Kosina:
     "One deadlock/race fix from Niel that got introduced when we were
      moving away from freezer_*_count() to wait_event_freezable()."
    * 'for-linus' of git://
      APM: fix deadlock in APM_IOC_SUSPEND ioctl
Commits on Apr 5, 2012
  1. Merge branch 'akpm' (Andrew's patch-bomb)

    torvalds committed Apr 5, 2012
    Merge batch of fixes from Andrew Morton:
     "The simple_open() cleanup was held back while I wanted for laggards to
      merge things.
      I still need to send a few checkpoint/restore patches.  I've been
      wobbly about merging them because I'm wobbly about the overall
      prospects for success of the project.  But after speaking with Pavel
      at the LSF conference, it sounds like they're further toward
      completion than I feared - apparently davem is at the "has stopped
      complaining" stage regarding the net changes.  So I need to go back
      and re-review those patchs and their (lengthy) discussion."
    * emailed from Andrew Morton <>: (16 patches)
      memcg swap: use mem_cgroup_uncharge_swap fix
      backlight: add driver for DA9052/53 PMIC v1
      C6X: use set_current_blocked() and block_sigmask()
      MAINTAINERS: add entry for sparse checker
      alpha: use set_current_blocked() and block_sigmask()
      simple_open: automatically convert to simple_open()
      scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
      libfs: add simple_open()
      hugetlbfs: remove unregister_filesystem() when initializing module
      drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
      fs/xattr.c:setxattr(): improve handling of allocation failures
      fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
      fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
      sysrq: use SEND_SIG_FORCED instead of force_sig()
      proc: fix mount -t proc -o AAA
  2. Merge git://

    torvalds committed Apr 5, 2012
    Pull CIFS fixes from Steve French.
    * git://
      Fix UNC parsing on mount
      Remove unnecessary check for NULL in password parser
      CIFS: Fix VFS lock usage for oplocked files
      Revert "CIFS: Fix VFS lock usage for oplocked files"
      cifs: writing past end of struct in cifs_convert_address()
      cifs: silence compiler warnings showing up with gcc-4.7.0
      CIFS: Fix VFS lock usage for oplocked files
  3. Merge tag 'for_linus-3.4-rc2' of git://…

    torvalds committed Apr 5, 2012
    Pull KGDB/KDB regression fixes from Jason Wessel:
     - Fix a Smatch warning that appeared in the 3.4 merge window
     - Fix kgdb test suite with SMP for all archs without HW single stepping
     - Fix kgdb sw breakpoints with CONFIG_DEBUG_RODATA=y limitations on x86
     - Fix oops on kgdb test suite with CONFIG_DEBUG_RODATA
     - Fix kgdb test suite with SMP for all archs with HW single stepping
    * tag 'for_linus-3.4-rc2' of git://
      x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()
      kgdb,debug_core: pass the breakpoint struct instead of address and memory
      kgdbts: (2 of 2) fix single step awareness to work correctly with SMP
      kgdbts: (1 of 2) fix single step awareness to work correctly with SMP
      kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA
      kdb: Fix smatch warning on dbg_io_ops->is_console
  4. Merge branch 'for-linus' of git://…

    torvalds committed Apr 5, 2012
    Pull DMA mapping branch from Marek Szyprowski:
     "Short summary for the whole series:
      A few limitations have been identified in the current dma-mapping
      design and its implementations for various architectures.  There exist
      more than one function for allocating and freeing the buffers:
      currently these 3 are used dma_{alloc, free}_coherent,
      dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.
      For most of the systems these calls are almost equivalent and can be
      interchanged.  For others, especially the truly non-coherent ones
      (like ARM), the difference can be easily noticed in overall driver
      performance.  Sadly not all architectures provide implementations for
      all of them, so the drivers might need to be adapted and cannot be
      easily shared between different architectures.  The provided patches
      unify all these functions and hide the differences under the already
      existing dma attributes concept.  The thread with more references is
      available here:
      These patches are also a prerequisite for unifying DMA-mapping
      implementation on ARM architecture with the common one provided by
      dma_map_ops structure and extending it with IOMMU support.  More
      information is available in the following thread:
      More works on dma-mapping framework are planned, especially in the
      area of buffer sharing and managing the shared mappings (together with
      the recently introduced dma_buf interface: commit d15bd7e
      "dma-buf: Introduce dma buffer sharing mechanism").
      The patches in the current set introduce a new alloc/free methods
      (with support for memory attributes) in dma_map_ops structure, which
      will later replace dma_alloc_coherent and dma_alloc_writecombine
    People finally started piping up with support for merging this, so I'm
    merging it as the last of the pending stuff from the merge window.
    Looks like pohmelfs is going to wait for 3.5 and more external support
    for merging.
    * 'for-linus' of git://
      common: DMA-mapping: add NON-CONSISTENT attribute
      common: DMA-mapping: add WRITE_COMBINE attribute
      common: dma-mapping: introduce mmap method
      common: dma-mapping: remove old alloc_coherent and free_coherent methods
      Hexagon: adapt for dma_map_ops changes
      Unicore32: adapt for dma_map_ops changes
      Microblaze: adapt for dma_map_ops changes
      SH: adapt for dma_map_ops changes
      Alpha: adapt for dma_map_ops changes
      SPARC: adapt for dma_map_ops changes
      PowerPC: adapt for dma_map_ops changes
      MIPS: adapt for dma_map_ops changes
      X86 & IA64: adapt for dma_map_ops changes
      common: dma-mapping: introduce generic alloc() and free() methods
Commits on Apr 4, 2012
  1. Merge tag 'pm-for-3.4-part-2' of git://…

    torvalds committed Apr 4, 2012
    Pull more power management updates from Rafael Wysocki:
     - Patch series that hopefully fixes races between the freezer and
       request_firmware() and request_firmware_nowait() for good, with two
       cleanups from Stephen Boyd on top.
     - Runtime PM fix from Alan Stern preventing tasks from getting stuck
       indefinitely in the runtime PM wait queue.
     - Device PM QoS update from MyungJoo Ham introducing a new variant of
       pm_qos_update_request() allowing the callers to specify a timeout.
    * tag 'pm-for-3.4-part-2' of git://
      PM / QoS: add pm_qos_update_request_timeout() API
      firmware_class: Move request_firmware_nowait() to workqueues
      firmware_class: Reorganize fw_create_instance()
      PM / Sleep: Mitigate race between the freezer and request_firmware()
      PM / Sleep: Move disabling of usermode helpers to the freezer
      PM / Hibernate: Disable usermode helpers right before freezing tasks
      firmware_class: Do not warn that system is not ready from async loads
      firmware_class: Split _request_firmware() into three functions, v2
      firmware_class: Rework usermodehelper check
      PM / Runtime: don't forget to wake up waitqueue on failure
  2. Merge branch 'selinux' ("struct common_audit_data" sanitizer)

    torvalds committed Apr 4, 2012
    Merge common_audit_data cleanup patches from Eric Paris.
    This is really too late, but it's a long-overdue cleanup of the costly
    wrapper functions for the security layer.
    The "struct common_audit_data" is used all over in critical paths,
    allocated and initialized on the stack.  And used to be much too large,
    causing not only unnecessarily big stack frames but the clearing of the
    (mostly useless) data was also very visible in profiles.
    As a particular example, in one microbenchmark for just doing "stat()"
    over files a lot, selinux_inode_permission() used 7% of the CPU time.
    That's despite the fact that it doesn't actually *do* anything: it is
    just a helper wrapper function in the selinux security layer.
    This patch-series shrinks "struct common_audit_data" sufficiently that
    code generation for these kinds of wrapper functions is improved
    noticeably, and we spend much less time just initializing data that we
    will never use.
    The functions still get called all the time, and it still shows up at
    3.5+% in my microbenchmark, but it's quite a bit lower down the list,
    and much less noticeable.
    * Emailed patches from Eric Paris <>:
      lsm_audit: don't specify the audit pre/post callbacks in 'struct common_audit_data'
      SELinux: do not allocate stack space for AVC data unless needed
      SELinux: remove avd from slow_avc_audit()
      SELinux: remove avd from selinux_audit_data
      LSM: shrink the common_audit_data data union
      LSM: shrink sizeof LSM specific portion of common_audit_data
  3. Merge tag 'regmap-3.4' of git://…

    torvalds committed Apr 4, 2012
    Pull a single regmap fix from Mark Brown:
     "A simple bug that's been lurking for a while but not terribly visible
      since a high proportion of chips have no register 0 so the normal
      failure is that we end up doing a bit of extra I/O."
    * tag 'regmap-3.4' of git://
      regmap: rbtree: Fix register default look-up in sync
  4. Merge tag 'regulator-3.4' of git://…

    torvalds committed Apr 4, 2012
    Pull regulator fixes from Mark Brown:
     "A bunch of smallish fixes that came up during the merge window as
      things got more testing - even more fixes from Axel, a fix for error
      handling in more complex systems using -EPROBE_DEFER and a couple of
      small fixes for the new dummy regulators."
    * tag 'regulator-3.4' of git://
      regulator: Remove non-existent parameter from fixed-helper.c kernel doc
      regulator: Fix setting new voltage in s5m8767_set_voltage
      regulator: fix sysfs name collision between dummy and fixed dummy regulator
      regulator: Fix deadlock on removal of regulators with supplies
      regulator: Fix comments in include/linux/regulator/machine.h
      regulator: Only update [LDOx|DCx]_HIB_MODE bits in wm8350_[ldo|dcdc]_set_suspend_disable
      regulator: Fix setting low power mode for wm831x aldo
      regulator: Return microamps in wm8350_isink_get_current
      regulator: wm8350: Fix the logic to choose best current limit setting
      regulator: wm831x-isink: Fix the logic to choose best current limit setting
      regulator: wm831x-dcdc: Fix the logic to choose best current limit setting
      regulator: anatop: patching to device-tree property "reg".
      regulator: Do proper shift to set correct bit for DC[2|5]_HIB_MODE setting
      regulator: Fix restoring pmic.dcdcx_hib_mode settings in wm8350_dcdc_set_suspend_enable
      regulator: Fix unbalanced lock/unlock in mc13892_regulator_probe error path
      regulator: Fix set and get current limit for wm831x_buckv
      regulator: tps6586x: Fix list minimal voltage setting for LDO0
  5. Merge branch 'perf-urgent-for-linus' of git://…

    torvalds committed Apr 4, 2012
    Pull perf fixes from Ingo Molnar.
    * 'perf-urgent-for-linus' of git://
      perf/x86/p4: Add format attributes
      tracing, sched, vfs: Fix 'old_pid' usage in trace_sched_process_exec()
  6. Merge branch 'x86-urgent-for-linus' of git://…

    torvalds committed Apr 4, 2012
    Pull x86 fixes from Ingo Molnar.
    * 'x86-urgent-for-linus' of git://
      x86, kvm: Call restore_sched_clock_state() only after %gs is initialized
      x86: Use -mno-avx when available
      x86: Remove the ancient and deprecated disable_hlt() and enable_hlt() facility
      x86: Preserve lazy irq disable semantics in fixup_irqs()
  7. Merge tag 'hwmon-for-linus' of git://…

    torvalds committed Apr 4, 2012
    Pull hwmon patches from Guenter Roeck:
     - Fix crash in ad7314 driver
     - Add support for AMD Trinity CPUs to k10temp driver
     - Fix __initdata/__initconst mixup in w83627ehf driver
     - Fix runtime warnings in acpi_power_meter and max6639 drivers
     - Fix build warnings in adm1031, f75375s, sht15, and gpio-fan drivers
    * tag 'hwmon-for-linus' of git://
      hwmon: (ad7314) Adds missing spi_dev initialization
      hwmon: (k10temp) Add support for AMD Trinity CPUs
      hwmon: (w83627ehf) mark const init data with __initconst instead of __initdata
      hwmon: (acpi_power_meter) fix lockdep spew due to non-static lock class
      hwmon: (adm1031) Fix compiler warning
      hwmon: (f75375s) Fix warning message seen in some configurations
      hwmon: (max6639) Convert to dev_pm_ops
      hwmon: (sht15) Fix Kconfig dependencies
      hwmon: (gpio-fan) Fix Kconfig dependencies
  8. Merge tag 'mce-fix-for-3.4' of git://…

    torvalds committed Apr 4, 2012
    Pull MCE fixlet from Borislav Petkov:
     "One fix which makes MCE decoding much more "liberal" wrt families."
    * tag 'mce-fix-for-3.4' of git://
      MCE, AMD: Drop too granulary family model checks
  9. Merge tag 'md-3.4-fixes' of git://

    torvalds committed Apr 4, 2012
    Pull assorted md fixes from Neil Brown:
     - some RAID levels didn't clear up properly if md_integrity_register
     - a 'check' of RAID5/RAID6 doesn't actually read any data since a
       recent patch - so fix that (and mark for -stable)
     - a couple of other minor bugs.
    * tag 'md-3.4-fixes' of git://
      md/raid1,raid10: don't compare excess byte during consistency check.
      md/raid5: Fix a bug about judging if the operation is syncing or replacing
      md/raid1:Remove unnecessary rcu_dereference(conf->mirrors[i].rdev).
      md: Avoid OOPS when reshaping raid1 to raid0
      md/raid5: fix handling of bad blocks during recovery.
      md/raid1: If md_integrity_register() failed,run() must free the mem
      md/raid0: If md_integrity_register() fails, raid0_run() must free the mem.
      md/linear: If md_integrity_register() fails, linear_run() must free the mem.
  10. Merge branch 'fixes' of git://

    torvalds committed Apr 4, 2012
    Pull ARM fixes from Russell King:
     "Nothing too big here, just small fixes."
    * 'fixes' of git://
      ARM: fix more fallout from 9f97da7 (Disintegrate asm/system.h for ARM)
      ARM: fix bios32.c build warning
      ARM: 7337/1: ptrace: fix ptrace_read_user for !CONFIG_MMU platforms
      ARM: fix missing bug.h include in arch/arm/kernel/insn.c
      ARM: sa11x0: fix build errors from DMA engine API updates
  11. Merge git://

    torvalds committed Apr 4, 2012
    Pull Sparc fixes from David Miller:
     "One build regression and one serial probe regression fix on sparc."
    * git://
      serial/sunzilog: fix keyboard on SUN SPARCstation
      sparc: pgtable_64: change include order
  12. Revert "nouveau/bios: Fix tracking of BIOS image data"

    torvalds committed Apr 4, 2012
    This reverts commit d06221c.
    It turns out to trigger the "BUG_ON(!PageCompound(page))" in kfree(),
    apparently because the code ends up trying to free somethng that was
    never kmalloced in the first place.
    BenH points out that the patch was untested and wasn't meant to go into
    the upstream kernel that quickly in the first place.
    Reported-by: Meelis Roos <>
    Requested-by: Dave Airlie <>
    Acked-by: Benjamin Herrenschmidt <>
    Cc: Ben Skeggs <>
    Signed-off-by: Linus Torvalds <>
Commits on Apr 3, 2012
  1. Merge branch 'drm-fixes-intel' of git://…

    torvalds committed Apr 3, 2012
    Pull drm update from Dave Airlie:
     "This pull just contains a forward of the Intel fixes from Daniel.
      The only annoyance is the RC6 enable, which really should have made
      -next, but since Ubuntu are shipping it I reckon its getting a good
      testing now by the time 3.4 comes out.
      The pull from Daniel contains his pull message to me:
        "A few patches for 3.4, major part is 3 regression fixes:
         - ppgtt broke hibernate on snb/ivb.  Somehow our QA claims that it
           still works, which is why this has not been caught earlier.
         - ppgtt flails in combination with dmar.  I kinda expected this one :(
         - fence handling bugfix for gen2/3.  Iirc this one is about a year
           old, fix curtesy Chris Wilson.  I've created an shockingly simple
           i-g-t test to catch this in the future."
         Wrt regressions I've just got a report that gmbus (newly enabled
         again in 3.4) is a bit noisy.  I'm looking into this atm.
         Also included are the rc6 enable patches for snb from Eugeni.  I
         wanted to include these in the main 3.4 pull but screwed it up.
         Please hit me.  Imo these kind of patches really should go in
         before -rc1, but in thise case rc6 has brought us tons of press and
         guinea pigs^W^W testers and ubuntu is already running with it.  So
         I estimate a pretty small chance for this to blow up.
         And some smaller things:
          - two minor locking snafus
          - server gt2 ivb pciid
          - 2 patches to sanitize the register state left behind by the bios
            some more
          - 2 new quirk entries
          - cs readback trick against missed IRQs from ivb also enabled on snb
          - sprite fix from Jesse"
    Let's see if the "enable RC6 on sandybridge" finally works and sticks.
    I've been enabling it by hand (i915.i915_enable_rc6=1) for several
    months on my Macbook Air, and it definitely makes a difference (and has
    worked for me).  But every time we enabled it before it showed some odd
    hw buglet for *somebody*.
    This time it's all good, I'm sure.
    * 'drm-fixes-intel' of git://
      drm/i915: treat src w & h as fixed point in sprite handling code
      drm/i915: no-lvds quirk on MSI DC500
      drm/i915: Add lock on drm_helper_resume_force_mode
      drm/i915: don't leak struct_mutex lock on ppgtt init failures
      drm/i915: disable ppgtt on snb when dmar is enabled
      drm/i915: add Ivy Bridge GT2 Server entries
      drm/i915: properly clear SSC1 bit in the pch refclock init code
      drm/i915: apply CS reg readback trick against missed IRQ on snb
      drm/i915: quirk away broken OpRegion VBT
      drm/i915: enable plain RC6 on Sandy Bridge by default
      drm/i915: allow to select rc6 modes via kernel parameter
      drm/i915: Mark untiled BLT commands as fenced on gen2/3
      drm/i915: properly restore the ppgtt page directory on resume
      drm/i915: Sanitize BIOS debugging bits from PIPECONF
  2. Merge branch 'drm-fixes' of git://

    torvalds committed Apr 3, 2012
    Pull drm fixes from Dave Airlie:
     "Mainly nouveau fixes, one for a regressions in -rc1, fixes for booting
      on a ppc G5, and a Kconfig fix.  Two radeon fixes, one oops, one s/r
      fix.  One udl mmap fix.  And one core drm fix to stop bad fbdev apps
      overwriting bits of ram."
    * 'drm-fixes' of git://
      drm: Validate requested virtual size against allocated fb size
      drm/radeon: Don't dereference possibly-NULL pointer.
      mm, drm/udl: fixup vma flags on mmap
      drm/radeon/kms: fix fans after resume
      nouveau/bios: Fix tracking of BIOS image data
      nouveau: Fix crash when pci_ram_rom() returns a size of 0
      drm/nouveau: select POWER_SUPPLY
      drm/nouveau: inform userspace of relaxed kernel subchannel requirements
      Revert "drm/nouveau: inform userspace of new kernel subchannel requirements"
      drm/nouveau: oops, create m2mf for nvd9 too
  3. Merge branch 'next' of git://

    torvalds committed Apr 3, 2012
    Pull arch/microblaze fixes from Michal Simek.
    * 'next' of git://
      microblaze: Fix ret_from_fork declaration
      microblaze: Do not use tlb_skip in early_printk
      microblaze: Add missing headers caused by disintegration asm/system.h
      microblaze: Fix stack usage in PAGE_SIZE copy_tofrom_user
      microblaze: Fix tlb_skip variable on noMMU system
      microblaze: Fix __futex_atomic_op macro register usage
  4. Merge branch 'for-linus' of git://…

    torvalds committed Apr 3, 2012
    Pull m68k fixes from Geert Uytterhoeven:
     "Here are a few fixes for the m68k architecture.  Nothing fancy this
      time, just a build fix for the asm/system.h disintegration, and two
      fixes for missing platform checks (one got in during last merge
      window), which can cause crashes in multi-platform kernels."
    * 'for-linus' of git://
      m68k/q40: Add missing platform check before registering platform devices
      m68k/mac: Add missing platform check before registering platform devices
      m68k: include asm/cmpxchg.h in our m68k atomic.h