1. 25 Apr, 2014 7 commits
    • Linus Torvalds's avatar
      mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts · 1cf35d47
      Linus Torvalds authored
      The mmu-gather operation 'tlb_flush_mmu()' has done two things: the
      actual tlb flush operation, and the batched freeing of the pages that
      the TLB entries pointed at.
      
      This splits the operation into separate phases, so that the forced
      batched flushing done by zap_pte_range() can now do the actual TLB flush
      while still holding the page table lock, but delay the batched freeing
      of all the pages to after the lock has been dropped.
      
      This in turn allows us to avoid a race condition between
      set_page_dirty() (as called by zap_pte_range() when it finds a dirty
      shared memory pte) and page_mkclean(): because we now flush all the
      dirty page data from the TLB's while holding the pte lock,
      page_mkclean() will be held up walking the (recently cleaned) page
      tables until after the TLB entries have been flushed from all CPU's.
      Reported-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Tested-by: default avatarDave Hansen <dave.hansen@intel.com>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1cf35d47
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 9a60ee11
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       - ltc2945: Don't unecessarily crash kernel on implementation error
       - vexpress: Fix 'name' and 'label' attributes
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ltc2945) Don't crash the kernel unnecessarily
        hwmon: (vexpress) Avoid creating non-existing attributes
        hwmon: (vexpress) Use legal hwmon device names
      9a60ee11
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6dda80ff
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of seven fixes, three (hpsa) and free'd command
        references correcting bugs in the last round of updates and the
        remaining four correcting problems within the SCSI error handler that
        was causing a deadlock within USB"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] More USB deadlock fixes
        [SCSI] Fix USB deadlock caused by SCSI error handling
        [SCSI] Fix command result state propagation
        [SCSI] Fix spurious request sense in error handling
        [SCSI] don't reference freed command in scsi_prep_return
        [SCSI] don't reference freed command in scsi_init_sgtable
        [SCSI] hpsa: fix NULL dereference in hpsa_put_ctlr_into_performant_mode()
      6dda80ff
    • Linus Torvalds's avatar
      Merge tag 'fixes-3.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3fe89d2e
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Since we didn't get around to collect fixes in time for -rc2 over the
        easter vacation, this one is unfortunately a bit larger than we'd like
        for an -rc3 merge.
      
        A large set of the changes is in the device tree sources, so I'm
        splitting out the description between code changes and DT changes.
        Aside from omap and versatile express, the actual code bugs are and
        trivial.  Here is an overview:
      
        imx:
         - fix video clock settings
         - fix one clock refcounting bug
      
        omap:
         - update defconfig for renamed USB PHY driver
         - fix error handling in gpmc
         - fix N900 video initialization regression
         - fix reression in hwmod code from missing braces
         - fix am43xx and omap3 clocks
         - remove bogus write to voltage control register
      
        pxa:
         - fix build regression from 3.13 header cleanup
      
        rockchip:
         - fix a misleading printk string
      
        shmobile:
         - fix incorrect sound setting on multiple machines
      
        spear:
         - remove incorrect __init section annotation
      
        tegra:
         - remove a stale Kconfig entry
      
        u300:
         - update defconfig
      
        ux500:
         - enable common wireless and sensor drivers in defconfig
         - more defconfig updates
      
        vexpress:
         - fix voltage calculation for opp
         - fix reboot hang and warning
         - fix out-of-bounds array access
         - improve error handling in clock driver
      
        overall:
         - always select CLKSRC_OF in multiplatform builds
      
        And these are the devicetree related changes:
      
        imx:
         - add missing #clock-cell properties
         - fix pinctrl setting in imx6sl-evk
         - fix video endpoint on imx53
         - remove obsolete lvds-channel nodes (multiple patches)
         - add missing second stmpe node
         - fix usb host mode on dmo-edmqmx6 (multiple patches)
         - fix gic node #address-cells to match usage
         - add missing legacy IRQ map for PCIe
         - fix microsom pincontrol setting for rgmii
         - fix fatal typo in touchscreen DT usage for mx5
         - list all RAM present on m53evk and mx53qsb
      
        omap:
         - fix bug in DT handling of gpmc external bus
         - add DT for older revision of beagleboard
         - fix regression after DT node name fixes
         - remove obsolete properties for gpmc
         - fix pinmux comment to match DT it refers to
         - fix newly added dra7xx clock node data
         - add missing clock for USB PHY
      
        mvebu:
         - add missing clock for mdio node
         - fix nonstandard vendor prefixes on i2c nodes
      
        rockchip:
         - fix pin control setting for uart
      
        shmobile:
         - fix typo in DT data for pin control (multiple patches)
         - fix gic node #address-cells to match usage
      
        tegra:
         - fix clock and uart DT representation to match hardware
      
        zynq:
         - add DT nodes for newly added driver
         - add DT properties required for cpufreq-ondemand
      
        overall:
         - restore alphabetic order in Makefile
         - grammar fixes in bindings"
      
      * tag 'fixes-3.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (66 commits)
        ARM: vexpress/TC2: Convert OPP voltage to uV before storing
        power/reset: vexpress: Fix restart/power off operation
        dt: tegra: remove non-existent clock IDs
        clk: tegra: remove non-existent clocks
        ARM: tegra: remove UART5/UARTE from tegra124.dtsi
        ARM: tegra: remove TEGRA_EMC_SCALING_ENABLE
        ARM: Tidy up DTB Makefile entries
        ARM: fix missing CLKSRC_OF on multi-platform
        ARM: spear: add __init to spear_clocksource_init()
        ARM: pxa: hx4700.h: include "irqs.h" for PXA_NR_BUILTIN_GPIO
        arm/mach-vexpress: array accessed out of bounds
        clk: vexpress: NULL dereference on error path
        ARM: OMAP2+: Fix GPMC remap for devices using an offset
        ARM: zynq: dt: Add I2C nodes to Zynq device tree
        ARM: zynq: DT: Add 'clock-latency' property
        ARM: OMAP2+: Fix oops for GPMC free
        ARM: dts: Add support for the BeagleBoard xM A/B
        ARM: dts: Grammar /that will/it will/
        ARM: dts: Grammar /is uses/ is used/
        ARM: OMAP2+: Fix config name for USB3 PHY
        ...
      3fe89d2e
    • Linus Torvalds's avatar
      Merge tag 'locks-v3.15-2' of git://git.samba.org/jlayton/linux · 625bba66
      Linus Torvalds authored
      Pull file locking fixes from Jeff Layton:
       "File locking related bugfixes for v3.15 (pile #2)
      
         - fix for a long-standing bug in __break_lease that can cause soft
           lockups
         - renaming of file-private locks to "open file description" locks,
           and the command macros to more visually distinct names
      
        The fix for __break_lease is also in the pile of patches for which
        Bruce sent a pull request, but I assume that your merge procedure will
        handle that correctly.
      
        For the other patches, I don't like the fact that we need to rename
        this stuff at this late stage, but it should be settled now
        (hopefully)"
      
      * tag 'locks-v3.15-2' of git://git.samba.org/jlayton/linux:
        locks: rename FL_FILE_PVT and IS_FILE_PVT to use "*_OFDLCK" instead
        locks: rename file-private locks to "open file description locks"
        locks: allow __break_lease to sleep even when break_time is 0
      625bba66
    • Linus Torvalds's avatar
      Merge branch 'for-3.15' of git://linux-nfs.org/~bfields/linux · b8e6dece
      Linus Torvalds authored
      Pull nfsd bugfixes from Bruce Fields:
       "Three small nfsd bugfixes (including one locks.c fix for a bug
        triggered only from nfsd).
      
        Jeff's patches are for long-existing problems that became easier to
        trigger since the addition of vfs delegation support"
      
      * 'for-3.15' of git://linux-nfs.org/~bfields/linux:
        Revert "nfsd4: fix nfs4err_resource in 4.1 case"
        nfsd: set timeparms.to_maxval in setup_callback_client
        locks: allow __break_lease to sleep even when break_time is 0
      b8e6dece
    • Arnd Bergmann's avatar
      Merge tag 'zynq-dt-fixes-for-3.15' of git://git.xilinx.com/linux-xlnx into fixes · 76e7745e
      Arnd Bergmann authored
      arm: Xilinx Zynq DT fixes for v3.15
      
      - Enable Zynq I2c
      - Fix cpufreq DT binding
      
      * tag 'zynq-dt-fixes-for-3.15' of git://git.xilinx.com/linux-xlnx:
        ARM: zynq: dt: Add I2C nodes to Zynq device tree
        ARM: zynq: DT: Add 'clock-latency' property
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      76e7745e
  2. 24 Apr, 2014 27 commits
  3. 23 Apr, 2014 6 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · db725c88
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Various fixes and post-merge window updates.  Included here are:
         - ensure Kconfig things which should be sorted remain sorted
         - fix three big-endian bugs which crept in during the last merge
           window
         - add the renameat2 syscall
         - fix big.LITTLE switcher initialisation checks
         - fix kdump vmcore for LPAE kernels"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: add renameat2 syscall
        ARM: keep arch/arm/Kconfig and arch/arm/mm/Kconfig select entries sorted
        ARM: 8033/1: fix big endian __pv_phys_pfn_offset size related issue
        ARM: 8032/1: bL_switcher: fix validation check before its activation
        ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo
        ARM: 8027/1: fix do_div() bug in big-endian systems
        ARM: 8026/1: Fix emulation of multiply accumulate instructions
        ARM: 8024/1: Keep DEBUG_UART_{PHYS,VIRT} entries sorted
      db725c88
    • Jeff Layton's avatar
      locks: rename FL_FILE_PVT and IS_FILE_PVT to use "*_OFDLCK" instead · cff2fce5
      Jeff Layton authored
      File-private locks have been re-christened as "open file description"
      locks.  Finish the symbol name cleanup in the internal implementation.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      cff2fce5
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix GPMC remap for devices using an offset · fb677ef7
      Tony Lindgren authored
      At least the smc91x driver expects the device to be at 0x300
      offset from bus base address. This does not work currently
      for GPMC when booted in device tree mode as it attempts to
      remap the the allocated GPMC partition to the address
      configured by the device tree plus the device offset.
      
      Note that this works just fine when booted with legacy mode.
      
      Let's fix the issue by just ignoring any device specific
      offset while remapping. And let's make sure the remap
      address confirms to the GPMC 16MB minimum granularity
      as listed in the TRM for GPMC_CONFIG7 BASEADDRESS bits.
      
      Otherwise we can get something like this:
      
      omap-gpmc 6e000000.gpmc: cannot remap GPMC CS 1 to 0x01000300
      
      Cc: Pekon Gupta <pekon@ti.com>
      Reviewed-by: default avatarJavier Martinez Canillas <javier@dowhile0.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      fb677ef7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 1aae31c8
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "The main change is that we now publish "firmware ID" for the serio
        devices to help userspace figure out the kind of touchpads it is
        dealing with: i8042 will export PS/2 port's PNP IDs as firmware IDs.
      
        You will also get more quirks for Synaptics touchpads in various
        Lenovo laptops, a change to elantech driver to recognize even more
        models, and fixups to wacom and couple other drivers"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: elantech - add support for newer elantech touchpads
        Input: soc_button_array - fix a crash during rmmod
        Input: synaptics - add min/max quirk for ThinkPad T431s, L440, L540, S1 Yoga and X1
        Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property
        Input: Add INPUT_PROP_TOPBUTTONPAD device property
        Input: i8042 - add firmware_id support
        Input: serio - add firmware_id sysfs attribute
        Input: wacom - handle 1024 pressure levels in wacom_tpc_pen
        Input: wacom - references to 'wacom->data' should use 'unsigned char*'
        Input: wacom - override 'pressure_max' with value from HID_USAGE_PRESSURE
        Input: wacom - use full 32-bit HID Usage value in switch statement
        Input: wacom - missed the last bit of expresskey for DTU-1031
        Input: ads7846 - fix device usage within attribute show
        Input: da9055_onkey - remove use of regmap_irq_get_virq()
      1aae31c8
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 6db8148c
      Linus Torvalds authored
      Pull radeon drm fixes from Dave Airlie:
       "This is just radeon fixes, primarily the two pll fix and the aux fix,
        it also disables dpm on rv770 gpus, fixes driver reloading, and fixes
        two issues with runtime PM on some GPUS"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: don't allow runpm=1 on systems with out ATPX
        drm/radeon: fix ATPX detection on non-VGA GPUs
        drm/radeon/pm: don't walk the crtc list before it has been initialized (v2)
        drm/radeon: properly unregister hwmon interface (v2)
        drm/radeon: fix count in cik_sdma_ring_test()
        drm/radeon/aux: fix hpd assignment for aux bus
        drm/radeon: improve PLL limit handling in post div calculation
        drm/radeon: use fixed PPL ref divider if needed
        drm/radeon: disable dpm on rv770 by default
      6db8148c
    • Ritesh Harjani's avatar
      arm: dma-mapping: Fix mapping size value · 59f0f119
      Ritesh Harjani authored
      68efd7d2("arm: dma-mapping: remove order parameter from
      arm_iommu_create_mapping()") is causing kernel panic
      because it wrongly sets the value of mapping->size:
      
      Unable to handle kernel NULL pointer dereference at virtual
      address 000000a0
      pgd = e7a84000
      [000000a0] *pgd=00000000
      ...
      PC is at bitmap_clear+0x48/0xd0
      LR is at __iommu_remove_mapping+0x130/0x164
      
      Fix it by correcting mapping->size value.
      Signed-off-by: default avatarRitesh Harjani <ritesh.harjani@gmail.com>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      59f0f119