1. 30 Jan, 2017 3 commits
  2. 29 Jan, 2017 4 commits
    • Olof Johansson's avatar
      Merge tag 'keystone_soc_for_4.11' of... · 5f1223c5
      Olof Johansson authored
      Merge tag 'keystone_soc_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers
      
      Couple of minor cleanups for Navigator drivers for 4.11
      
      * tag 'keystone_soc_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
        soc: ti: knav: cleanup includes and sort header files
        soc: ti: knav_dma: fix typos in trace message
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5f1223c5
    • Olof Johansson's avatar
      Merge tag 'v4.11-armsoc-drivers1' of... · 61c5e492
      Olof Johansson authored
      Merge tag 'v4.11-armsoc-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers
      
      Some extensions to the power-domain driver to support domains in
      hiword registers (write-mask in upper 16bit) and domain-definitions
      for the rk3328 soc.
      
      Secondly a "driver" that attaches to the already existing grf nodes
      and is able to set static defaults for settings that cannot really
      be attached to any specific subsystem.
      Most GRF settings can already be set from drivers using them, but there
      are some behavioural settings like the mmc/jtag switch that cannot.
      
      As the commit message states this is really meant as a last line
      of defence for things that neither belong to a subsystem nor to the
      
      Having this here allows arm64 socs to have this as well and also
      moves another bit of code out of the arm32 mach-rockchip.
      
      * tag 'v4.11-armsoc-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        ARM: rockchip: drop rk3288 jtag/mmc switch handling
        soc: rockchip: add driver handling grf setup
        dt-bindings: add used but undocumented rockchip grf compatible values
        soc: rockchip: power-domain: add power domain support for rk3328
        dt-bindings: add binding for rk3328 power domains
        dt-bindings: power: add RK3328 SoCs header for idle-request
        soc: rockchip: power-domain: Support domain control in hiword-registers
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      61c5e492
    • Olof Johansson's avatar
      Merge tag 'samsung-drivers-soc-pmu-4.11' of... · ef73594a
      Olof Johansson authored
      Merge tag 'samsung-drivers-soc-pmu-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/drivers
      
      Improvements for Exynos PMU driver for v4.11:
      
      Beside basic function of setting proper configuration for low power modes, the
      Exynos PMU (Power Management Unit) driver is also a provider of syscon regmap
      for its registers.  This regmap is essential to many other drivers wanting to
      or needing to implement low power mode.
      
      Exynos pinctrl driver, before getting support for Runtime Power Management,
      needs access to this syscon regmap.  Let's do it in a DT ABI friendly way.
      
      * tag 'samsung-drivers-soc-pmu-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
        soc: samsung: pmu: Remove messages for failed memory allocation
        soc: samsung: pmu: Use of_device_get_match_data helper
        soc: samsung: pmu: Provide global function to get PMU regmap
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      ef73594a
    • Olof Johansson's avatar
      Merge tag 'reset-for-4.11' of git://git.pengutronix.de/pza/linux into next/drivers · a6589b44
      Olof Johansson authored
      Reset controller changes for v4.11
      
      - fix ti_syscon reset_status reporting
      - add Hisilicon Hi3660 reset controller driver
      - add ZTE ZX2967 reset controller driver
      - add LD11 SD-reset block to uniphier reset controller driver
      - typo and correctness fixes
      - make reset_control_get variants return NULL instead of an
        error for optional, not specified resets and have the other
        reset API functions silently ignore rstc == NULL parameters.
      
      * tag 'reset-for-4.11' of git://git.pengutronix.de/pza/linux:
        reset: make optional functions really optional
        reset: Change shared flag from int to bool
        reset: uniphier: add compatible string for LD11 SD-reset block
        reset: zx2967: add reset controller driver for ZTE's zx2967 family
        MAINTAINERS: add zx2967 reset controller driver to ARM ZTE architecture
        dt: bindings: add documentation for zx2967 family reset controller
        Documentation: dt: reset: Revise typos in TI syscon reset example
        reset: constify reset_control_ops structures
        reset: hisilicon: add reset-hi3660
        dt-bindings: Document the hi3660 reset bindings
        reset: ti_syscon: fix a ti_syscon_reset_status issue
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      a6589b44
  3. 25 Jan, 2017 1 commit
  4. 20 Jan, 2017 9 commits
  5. 19 Jan, 2017 1 commit
  6. 17 Jan, 2017 5 commits
  7. 12 Jan, 2017 2 commits
    • Suman Anna's avatar
      Documentation: dt: reset: Revise typos in TI syscon reset example · 17ee3307
      Suman Anna authored
      Fix couple of typos in the example given in the TI syscon reset
      binding. The ti,reset-bits used for DSP0 are corrected to match
      the values that will be used in the actual DT node.
      Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      17ee3307
    • Bhumika Goyal's avatar
      reset: constify reset_control_ops structures · 10132588
      Bhumika Goyal authored
      Declare reset_control_ops structures as const as they are only stored
      in the ops field of a reset_controller_dev structure. This field is of
      type const struct reset_control_ops *, so reset_control_ops structures
      having this property can be declared as const.
      Done using Coccinelle:
      
      @r1 disable optional_qualifier@
      identifier i;
      position p;
      @@
      static struct reset_control_ops i@p={...};
      
      @ok1@
      identifier r1.i;
      position p;
      struct ti_syscon_reset_data data;
      @@
      data.rcdev.ops=&i@p;
      
      @bad@
      position p!={r1.p,ok1.p};
      identifier r1.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r1.i;
      @@
      +const
      struct reset_control_ops i;
      
      File size before: drivers/reset/reset-ti-syscon.o
         text	   data	    bss	    dec	    hex	filename
         1329	    240	      0	   1569	    621	drivers/reset/reset-ti-syscon.o
      
      File size after: drivers/reset/reset-ti-syscon.o
         text	   data	    bss	    dec	    hex	filename
         1377	    192	      0	   1569	    621	drivers/reset/reset-ti-syscon.o
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      10132588
  8. 10 Jan, 2017 1 commit
  9. 09 Jan, 2017 3 commits
  10. 08 Jan, 2017 6 commits
    • Linus Torvalds's avatar
      Linux 4.10-rc3 · a121103c
      Linus Torvalds authored
      a121103c
    • Linus Torvalds's avatar
      Merge tag 'usb-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 83280e90
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a bunch of USB fixes for 4.10-rc3. Yeah, it's a lot, an
        artifact of the holiday break I think.
      
        Lots of gadget and the usual XHCI fixups for reported issues (one day
        that driver will calm down...) Also included are a bunch of usb-serial
        driver fixes, and for good measure, a number of much-reported MUSB
        driver issues have finally been resolved.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (72 commits)
        USB: fix problems with duplicate endpoint addresses
        usb: ohci-at91: use descriptor-based gpio APIs correctly
        usb: storage: unusual_uas: Add JMicron JMS56x to unusual device
        usb: hub: Move hub_port_disable() to fix warning if PM is disabled
        usb: musb: blackfin: add bfin_fifo_offset in bfin_ops
        usb: musb: fix compilation warning on unused function
        usb: musb: Fix trying to free already-free IRQ 4
        usb: musb: dsps: implement clear_ep_rxintr() callback
        usb: musb: core: add clear_ep_rxintr() to musb_platform_ops
        USB: serial: ti_usb_3410_5052: fix NULL-deref at open
        USB: serial: spcp8x5: fix NULL-deref at open
        USB: serial: quatech2: fix sleep-while-atomic in close
        USB: serial: pl2303: fix NULL-deref at open
        USB: serial: oti6858: fix NULL-deref at open
        USB: serial: omninet: fix NULL-derefs at open and disconnect
        USB: serial: mos7840: fix misleading interrupt-URB comment
        USB: serial: mos7840: remove unused write URB
        USB: serial: mos7840: fix NULL-deref at open
        USB: serial: mos7720: remove obsolete port initialisation
        USB: serial: mos7720: fix parallel probe
        ...
      83280e90
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · cc250e26
      Linus Torvalds authored
      Pull char/misc fixes from Greg KH:
       "Here are a few small char/misc driver fixes for 4.10-rc3.
      
        Two MEI driver fixes, and three NVMEM patches for reported issues, and
        a new Hyper-V driver MAINTAINER update. Nothing major at all, all have
        been in linux-next with no reported issues"
      
      * tag 'char-misc-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        hyper-v: Add myself as additional MAINTAINER
        nvmem: fix nvmem_cell_read() return type doc
        nvmem: imx-ocotp: Fix wrong register size
        nvmem: qfprom: Allow single byte accesses for read/write
        mei: move write cb to completion on credentials failures
        mei: bus: fix mei_cldev_enable KDoc
      cc250e26
    • Linus Torvalds's avatar
      Merge tag 'staging-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 6ea17ed1
      Linus Torvalds authored
      Pull staging/IIO fixes from Greg KH:
       "Here are some staging and IIO driver fixes for 4.10-rc3.
      
        Most of these are minor IIO fixes of reported issues, along with one
        network driver fix to resolve an issue. And a MAINTAINERS update with
        a new mailing list. All of these, except the MAINTAINERS file update,
        have been in linux-next with no reported issues (the MAINTAINERS patch
        happened on Friday...)"
      
      * tag 'staging-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        MAINTAINERS: add greybus subsystem mailing list
        staging: octeon: Call SET_NETDEV_DEV()
        iio: accel: st_accel: fix LIS3LV02 reading and scaling
        iio: common: st_sensors: fix channel data parsing
        iio: max44000: correct value in illuminance_integration_time_available
        iio: adc: TI_AM335X_ADC should depend on HAS_DMA
        iio: bmi160: Fix time needed to sleep after command execution
        iio: 104-quad-8: Fix active level mismatch for the preset enable option
        iio: 104-quad-8: Fix off-by-one errors when addressing IOR
        iio: 104-quad-8: Fix index control configuration
      6ea17ed1
    • Johannes Weiner's avatar
      mm: workingset: fix use-after-free in shadow node shrinker · ea07b862
      Johannes Weiner authored
      Several people report seeing warnings about inconsistent radix tree
      nodes followed by crashes in the workingset code, which all looked like
      use-after-free access from the shadow node shrinker.
      
      Dave Jones managed to reproduce the issue with a debug patch applied,
      which confirmed that the radix tree shrinking indeed frees shadow nodes
      while they are still linked to the shadow LRU:
      
        WARNING: CPU: 2 PID: 53 at lib/radix-tree.c:643 delete_node+0x1e4/0x200
        CPU: 2 PID: 53 Comm: kswapd0 Not tainted 4.10.0-rc2-think+ #3
        Call Trace:
           delete_node+0x1e4/0x200
           __radix_tree_delete_node+0xd/0x10
           shadow_lru_isolate+0xe6/0x220
           __list_lru_walk_one.isra.4+0x9b/0x190
           list_lru_walk_one+0x23/0x30
           scan_shadow_nodes+0x2e/0x40
           shrink_slab.part.44+0x23d/0x5d0
           shrink_node+0x22c/0x330
           kswapd+0x392/0x8f0
      
      This is the WARN_ON_ONCE(!list_empty(&node->private_list)) placed in the
      inlined radix_tree_shrink().
      
      The problem is with 14b46879 ("mm: workingset: move shadow entry
      tracking to radix tree exceptional tracking"), which passes an update
      callback into the radix tree to link and unlink shadow leaf nodes when
      tree entries change, but forgot to pass the callback when reclaiming a
      shadow node.
      
      While the reclaimed shadow node itself is unlinked by the shrinker, its
      deletion from the tree can cause the left-most leaf node in the tree to
      be shrunk.  If that happens to be a shadow node as well, we don't unlink
      it from the LRU as we should.
      
      Consider this tree, where the s are shadow entries:
      
             root->rnode
                  |
             [0       n]
              |       |
           [s    ] [sssss]
      
      Now the shadow node shrinker reclaims the rightmost leaf node through
      the shadow node LRU:
      
             root->rnode
                  |
             [0        ]
              |
          [s     ]
      
      Because the parent of the deleted node is the first level below the
      root and has only one child in the left-most slot, the intermediate
      level is shrunk and the node containing the single shadow is put in
      its place:
      
             root->rnode
                  |
             [s        ]
      
      The shrinker again sees a single left-most slot in a first level node
      and thus decides to store the shadow in root->rnode directly and free
      the node - which is a leaf node on the shadow node LRU.
      
        root->rnode
             |
             s
      
      Without the update callback, the freed node remains on the shadow LRU,
      where it causes later shrinker runs to crash.
      
      Pass the node updater callback into __radix_tree_delete_node() in case
      the deletion causes the left-most branch in the tree to collapse too.
      
      Also add warnings when linked nodes are freed right away, rather than
      wait for the use-after-free when the list is scanned much later.
      
      Fixes: 14b46879 ("mm: workingset: move shadow entry tracking to radix tree exceptional tracking")
      Reported-by: default avatarDave Chinner <david@fromorbit.com>
      Reported-by: default avatarHugh Dickins <hughd@google.com>
      Reported-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Reported-and-tested-by: default avatarDave Jones <davej@codemonkey.org.uk>
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Chris Leech <cleech@redhat.com>
      Cc: Lee Duncan <lduncan@suse.com>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Matthew Wilcox <mawilcox@linuxonhyperv.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea07b862
    • Hugh Dickins's avatar
      mm: stop leaking PageTables · b0b9b3df
      Hugh Dickins authored
      4.10-rc loadtest (even on x86, and even without THPCache) fails with
      "fork: Cannot allocate memory" or some such; and /proc/meminfo shows
      PageTables growing.
      
      Commit 953c66c2 ("mm: THP page cache support for ppc64") that got
      merged in rc1 removed the freeing of an unused preallocated pagetable
      after do_fault_around() has called map_pages().
      
      This is usually a good optimization, so that the followup doesn't have
      to reallocate one; but it's not sufficient to shift the freeing into
      alloc_set_pte(), since there are failure cases (most commonly
      VM_FAULT_RETRY) which never reach finish_fault().
      
      Check and free it at the outer level in do_fault(), then we don't need
      to worry in alloc_set_pte(), and can restore that to how it was (I
      cannot find any reason to pte_free() under lock as it was doing).
      
      And fix a separate pagetable leak, or crash, introduced by the same
      change, that could only show up on some ppc64: why does do_set_pmd()'s
      failure case attempt to withdraw a pagetable when it never deposited
      one, at the same time overwriting (so leaking) the vmf->prealloc_pte?
      Residue of an earlier implementation, perhaps? Delete it.
      
      Fixes: 953c66c2 ("mm: THP page cache support for ppc64")
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michael Neuling <mikey@neuling.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Balbir Singh <bsingharora@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0b9b3df
  11. 07 Jan, 2017 2 commits
  12. 06 Jan, 2017 3 commits