1. 04 Aug, 2016 12 commits
    • Jason Gunthorpe's avatar
      IB/uverbs: Fix race between uverbs_close and remove_one · d1e09f30
      Jason Gunthorpe authored
      Fixes an oops that might happen if uverbs_close races with
      remove_one.
      
      Both contexts may run ib_uverbs_cleanup_ucontext, it depends
      on the flow.
      
      Currently, there is no protection for a case that remove_one
      didn't make the cleanup it runs to its end, the underlying
      ib_device was freed then uverbs_close will call
      ib_uverbs_cleanup_ucontext and OOPs.
      
      Above might happen if uverbs_close deleted the file from the list
      then remove_one didn't find it and runs to its end.
      
      Fixes to protect against that case by a new cleanup lock so that
      ib_uverbs_cleanup_ucontext will be called always before that
      remove_one is ended.
      
      Fixes: 35d4a0b6 ("IB/uverbs: Fix race between ib_uverbs_open and remove_one")
      Reported-by: default avatarDevesh Sharma <devesh.sharma@broadcom.com>
      Signed-off-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: default avatarYishai Hadas <yishaih@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      d1e09f30
    • Markus Elfring's avatar
      IB/mthca: Clean up error unwind flow in mthca_reset() · 380bae5b
      Markus Elfring authored
      The kfree() function was called in a few cases by the mthca_reset()
      function during error handling even if the passed variables "bridge_header"
      and "hca_header" contained a null pointer.
      
      Adjust jump targets according to the Linux coding style convention.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      380bae5b
    • Markus Elfring's avatar
      IB/mthca: NULL arg to pci_dev_put is OK · 3491ab63
      Markus Elfring authored
      The pci_dev_put() function tests whether its argument is NULL and then
      returns immediately. Thus the test around the call is not needed.
      
      This issue was detected by using the Coccinelle software.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      3491ab63
    • Markus Elfring's avatar
      IB/hfi1: NULL arg to sc_return_credits is OK · f7ca535b
      Markus Elfring authored
      The sc_return_credits() function tests whether its argument is NULL
      and then returns immediately. Thus the test around the call is not needed.
      
      This issue was detected by using the Coccinelle software.
      Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      f7ca535b
    • Mark Bloch's avatar
      IB/mlx4: Add diagnostic hardware counters · 3f85f2aa
      Mark Bloch authored
      Expose IB diagnostic hardware counters.
      The counters count IB events and are applicable for IB and RoCE.
      
      The counters can be divided into two groups, per device and per port.
      Device counters are always exposed.
      Port counters are exposed only if the firmware supports per port counters.
      
      rq_num_dup and sq_num_to are only exposed if we have firmware support
      for them, if we do, we expose them per device and per port.
      rq_num_udsdprd and num_cqovf are device only counters.
      
      rq - denotes responder.
      sq - denotes requester.
      
      |-----------------------|---------------------------------------|
      |	Name		|	Description			|
      |-----------------------|---------------------------------------|
      |rq_num_lle		| Number of local length errors		|
      |-----------------------|---------------------------------------|
      |sq_num_lle		| number of local length errors		|
      |-----------------------|---------------------------------------|
      |rq_num_lqpoe		| Number of local QP operation errors	|
      |-----------------------|---------------------------------------|
      |sq_num_lqpoe		| Number of local QP operation errors	|
      |-----------------------|---------------------------------------|
      |rq_num_lpe		| Number of local protection errors	|
      |-----------------------|---------------------------------------|
      |sq_num_lpe		| Number of local protection errors	|
      |-----------------------|---------------------------------------|
      |rq_num_wrfe		| Number of CQEs with error		|
      |-----------------------|---------------------------------------|
      |sq_num_wrfe		| Number of CQEs with error		|
      |-----------------------|---------------------------------------|
      |sq_num_mwbe		| Number of Memory Window bind errors	|
      |-----------------------|---------------------------------------|
      |sq_num_bre		| Number of bad response errors		|
      |-----------------------|---------------------------------------|
      |sq_num_rire		| Number of Remote Invalid request	|
      |			| errors				|
      |-----------------------|---------------------------------------|
      |rq_num_rire		| Number of Remote Invalid request	|
      |			| errors				|
      |-----------------------|---------------------------------------|
      |sq_num_rae		| Number of remote access errors	|
      |-----------------------|---------------------------------------|
      |rq_num_rae		| Number of remote access errors	|
      |-----------------------|---------------------------------------|
      |sq_num_roe		| Number of remote operation errors	|
      |-----------------------|---------------------------------------|
      |sq_num_tree		| Number of transport retries exceeded	|
      |			| errors				|
      |-----------------------|---------------------------------------|
      |sq_num_rree		| Number of RNR NAK retries exceeded	|
      |			| errors				|
      |-----------------------|---------------------------------------|
      |rq_num_rnr		| Number of RNR NAKs sent		|
      |-----------------------|---------------------------------------|
      |sq_num_rnr		| Number of RNR NAKs received		|
      |-----------------------|---------------------------------------|
      |rq_num_oos		| Number of Out of Sequence requests	|
      |			| received				|
      |-----------------------|---------------------------------------|
      |sq_num_oos		| Number of Out of Sequence NAKs	|
      |			| received				|
      |-----------------------|---------------------------------------|
      |rq_num_udsdprd		| Number of UD packets silently		|
      |			| discarded on the Receive Queue due to	|
      |			| lack of receive descriptor		|
      |-----------------------|---------------------------------------|
      |rq_num_dup		| Number of duplicate requests received	|
      |-----------------------|---------------------------------------|
      |sq_num_to		| Number of time out received		|
      |-----------------------|---------------------------------------|
      |num_cqovf		| Number of CQ overflows		|
      |-----------------------|---------------------------------------|
      Signed-off-by: default avatarMark Bloch <markb@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      3f85f2aa
    • Mark Bloch's avatar
      net/mlx4: Query performance and diagnostics counters · bfaf3168
      Mark Bloch authored
      Add a function to query diagnostics counters from the firmware.
      Signed-off-by: default avatarMark Bloch <markb@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      bfaf3168
    • Mark Bloch's avatar
      net/mlx4: Add diagnostic counters capability bit · c7c122ed
      Mark Bloch authored
      Add a bit that indicates if the firmware supports per port
      diagnostic counters.
      Signed-off-by: default avatarMark Bloch <markb@mellanox.com>
      Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      c7c122ed
    • Mustafa Ismail's avatar
      Use smaller 512 byte messages for portmapper messages · e972dabf
      Mustafa Ismail authored
      Portmapper messages are short and do not occupy more than 512 bytes.
      Lower portmapper message size to 512 bytes. This change significantly
      reduces the amount of memory needed when trying to establish a large
      number of connections simultaneously. The old value is based on page
      size.
      Signed-off-by: default avatarFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: default avatarMustafa Ismail <mustafa.ismail@intel.com>
      Signed-off-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      e972dabf
    • Yuval Shaia's avatar
      IB/ipoib: Report SG feature regardless of HW UD CSUM capability · 5faba546
      Yuval Shaia authored
      Decouple SG support from HW ability to do UD checksum.
      This coupling is for historical reasons and removed with 'commit
      ec5f0615 ("net: Kill link between CSUM and SG features.")'
      
      During driver load it is assumed that device does not supports SG. The
      final decision is taken after creating UD QP based on device capability.
      Signed-off-by: default avatarYuval Shaia <yuval.shaia@oracle.com>
      Reviewed-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      5faba546
    • Roland Dreier's avatar
      IB/mlx4: Don't use GFP_ATOMIC for CQ resize struct · 0c87b672
      Roland Dreier authored
      We allocate a small tracking structure as part of mlx4_ib_resize_cq().
      However, we don't need to use GFP_ATOMIC -- immediately after the
      allocation, we call mlx4_cq_resize(), which allocates a command
      mailbox with GFP_KERNEL and then sleeps on a firmware command, so we
      better not be in an atomic context.
      
      This actually has a real impact, because when this GFP_ATOMIC
      allocation fails (and GFP_ATOMIC does fail in practice) then a
      userspace consumer resizing a CQ will get a spurious failure that we
      can easily avoid.
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      0c87b672
    • Bart Van Assche's avatar
      IB/hfi1: Disable by default · a154a8cd
      Bart Van Assche authored
      There is a strict policy in the Linux kernel that new drivers must be
      disabled by default. Hence leave out the "default m" line from Kconfig.
      
      Fixes: f48ad614 ("IB/hfi1: Move driver out of staging")
      Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Jubin John <jubin.john@intel.com>
      Cc: Dennis Dalessandro <dennis.dalessandro@intel.com>
      Cc: Ira Weiny <ira.weiny@intel.com>
      Cc: Mike Marciniszyn <mike.marciniszyn@intel.com>
      Cc: <stable@vger.kernel.org> # v4.7+
      Acked-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      a154a8cd
    • Bart Van Assche's avatar
      IB/rdmavt: Disable by default · 378fc320
      Bart Van Assche authored
      There is a strict policy in the Linux kernel that new drivers must be
      disabled by default. Hence leave out the "default m" line from Kconfig.
      
      Fixes: 0194621b ("IB/rdmavt: Create module framework and handle driver registration")
      Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Jubin John <jubin.john@intel.com>
      Cc: Dennis Dalessandro <dennis.dalessandro@intel.com>
      Cc: Ira Weiny <ira.weiny@intel.com>
      Cc: Mike Marciniszyn <mike.marciniszyn@intel.com>
      Cc: <stable@vger.kernel.org> # v4.6+
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      378fc320
  2. 20 Jun, 2016 1 commit
  3. 19 Jun, 2016 9 commits
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · c3695331
      Linus Torvalds authored
      Pull UDF fixes and a reiserfs fix from Jan Kara:
       "A couple of udf fixes (most notably a bug in parsing UDF partitions
        which led to inability to mount recent Windows installation media) and
        a reiserfs fix for handling kstrdup failure"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        reiserfs: check kstrdup failure
        udf: Use correct partition reference number for metadata
        udf: Use IS_ERR when loading metadata mirror file entry
        udf: Don't BUG on missing metadata partition descriptor
      c3695331
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-4.7-rc4' of git://git.infradead.org/users/vkoul/slave-dma · 9af1f5d8
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Some fixes has piled up, so time to send them upstream.
      
        These fixes include:
         - at_xdmac fixes for residue and other stuff
         - update MAINTAINERS for dma dt bindings
         - mv_xor fix for incorrect offset"
      
      * tag 'dmaengine-fix-4.7-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: mv_xor: Fix incorrect offset in dma_map_page()
        dmaengine: at_xdmac: double FIFO flush needed to compute residue
        dmaengine: at_xdmac: fix residue corruption
        dmaengine: at_xdmac: align descriptors on 64 bits
        MAINTAINERS: Add file patterns for dma device tree bindings
      9af1f5d8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 049a40c0
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Another batch of fixes for ARM SoC platforms.  Most are smaller fixes.
      
        Two areas that are worth pointing out are:
      
         - OMAP had a handful of changes to voltage specs that caused a bit of
           churn, most of volume of change in this branch is due to this.
      
         - There are a couple of _rcuidle fixes from Paul that touch common
           code and came in through the OMAP tree since they were the ones who
           saw the problems.
      
       The rest is smaller changes across a handful of platforms"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (36 commits)
        ARM: dts: STi: stih407-family: Disable reserved-memory co-processor nodes
        ARM: dts: am437x-sk-evm: Reduce i2c0 bus speed for tps65218
        ARM: OMAP2+: timer: add probe for clocksources
        ARM: OMAP1: fix ams-delta FIQ handler to work with sparse IRQ
        memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
        arm: Use _rcuidle for smp_cross_call() tracepoints
        MAINTAINERS: Add myself as reviewer of ARM FSL/NXP
        ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_mem_ret
        ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_logic_ret
        ARM: OMAP: DRA7: powerdomain data: Set L3init and L4per to ON
        ARM: imx6ul: Fix Micrel PHY mask
        ARM: OMAP2+: Select OMAP_INTERCONNECT for SOC_AM43XX
        ARM: dts: DRA74x: fix DSS PLL2 addresses
        ARM: OMAP2: Enable Errata 430973 for OMAP3
        ARM: dts: socfpga: Add missing PHY phandle
        ARM: dts: exynos: Fix port nodes names for Exynos5420 Peach Pit board
        ARM: dts: exynos: Fix port nodes names for Exynos5250 Snow board
        ARM: dts: sun6i: yones-toptech-bs1078-v2: Drop constraints on dc1sw regulator
        ARM: dts: sun6i: primo81: Drop constraints on dc1sw regulator
        ARM: dts: sunxi: Add OLinuXino Lime2 eMMC to the Makefile
        ...
      049a40c0
    • Olof Johansson's avatar
      Merge tag 'gpmc-omap-fixes-for-v4.7' of https://github.com/rogerq/linux into fixes · 8fd09767
      Olof Johansson authored
      OMAP-GPMC: Fixes for for v4.7-rc cycle:
      
      - Fix omap gpmc EXTRADELAY timing. The DT provided timings
      were wrongly used causing devices requiring extra delay timing
      to fail.
      
      * tag 'gpmc-omap-fixes-for-v4.7' of https://github.com/rogerq/linux:
        memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing
        + Linux 4.7-rc3
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      8fd09767
    • Olof Johansson's avatar
      Merge tag 'omap-for-v4.7/fixes-powedomain' of... · 58935f24
      Olof Johansson authored
      Merge tag 'omap-for-v4.7/fixes-powedomain' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Fixes for omaps for v4.7-rc cycle:
      
      - Fix dra7 for hardware issues limiting L4Per and L3init power domains
        to on state. Without this the devices may not work correctly after
        some time of use because of asymmetric aging. And related to this,
        let's also remove the unusable states.
      
      - Always select omap interconnect for am43x as otherwise the am43x
        only configurations will not boot properly. This can happen easily
        for any product kernels that leave out other SoCs to save memory.
      
      - Fix DSS PLL2 addresses that have gone unused for now
      
      - Select erratum 430973 for omap3, this is now safe to do and can
        save quite a bit of debugging time for people who may have left
        it out.
      
      * tag 'omap-for-v4.7/fixes-powedomain' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_mem_ret
        ARM: OMAP: DRA7: powerdomain data: Remove unused pwrsts_logic_ret
        ARM: OMAP: DRA7: powerdomain data: Set L3init and L4per to ON
        ARM: OMAP2+: Select OMAP_INTERCONNECT for SOC_AM43XX
        ARM: dts: DRA74x: fix DSS PLL2 addresses
        ARM: OMAP2: Enable Errata 430973 for OMAP3
        + Linux 4.7-rc2
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      58935f24
    • Olof Johansson's avatar
      Merge tag 'fixes-rcu-fiq-signed' of... · 9503427e
      Olof Johansson authored
      Merge tag 'fixes-rcu-fiq-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Fixes for omaps for v4.7-rc cycle:
      
      - Two boot warning fixes from the RCU tree that should have gotten
        merged several weeks ago already but did not because of issues
        with who merges them. Paul has now split the RCU warning fixes into
        sets for various maintainers.
      
      - Fix ams-delta FIQ regression caused by omap1 sparse IRQ changes
      
      - Fix PM for omap3 boards using timer12 and gptimer, like the
        original beagleboard
      
      - Fix hangs on am437x-sk-evm by lowering the I2C bus speed
      
      * tag 'fixes-rcu-fiq-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: am437x-sk-evm: Reduce i2c0 bus speed for tps65218
        ARM: OMAP2+: timer: add probe for clocksources
        ARM: OMAP1: fix ams-delta FIQ handler to work with sparse IRQ
        arm: Use _rcuidle for smp_cross_call() tracepoints
        arm: Use _rcuidle tracepoint to allow use from idle
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      9503427e
    • Lee Jones's avatar
      ARM: dts: STi: stih407-family: Disable reserved-memory co-processor nodes · 0e289e53
      Lee Jones authored
      This patch fixes a non-booting issue in Mainline.
      
      When booting with a compressed kernel, we need to be careful how we
      populate memory close to DDR start.  AUTO_ZRELADDR is enabled by default
      in multi-arch enabled configurations, which place some restrictions on
      where the kernel is placed and where it will be uncompressed to on boot.
      
      AUTO_ZRELADDR takes the decompressor code's start address and masks out
      the bottom 28 bits to obtain an address to uncompress the kernel to
      (thus a load address of 0x42000000 means that the kernel will be
      uncompressed to 0x40000000 i.e. DDR START on this platform).
      
      Even changing the load address to after the co-processor's shared memory
      won't render a booting platform, since the AUTO_ZRELADDR algorithm still
      ensures the kernel is uncompressed into memory shared with the first
      co-processor (0x40000000).
      
      Another option would be to move loading to 0x4A000000, since this will
      mean the decompressor will decompress the kernel to 0x48000000. However,
      this would mean a large chunk (0x44000000 => 0x48000000 (64MB)) of
      memory would essentially be wasted for no good reason.
      
      Until we can work with ST to find a suitable memory location to
      relocate co-processor shared memory, let's disable the shared memory
      nodes.  This will ensure a working platform in the mean time.
      
      NB: The more observant of you will notice that we're leaving the DMU
      shared memory node enabled; this is because a) it is the only one in
      active use at the time of this writing and b) it is not affected by
      the current default behaviour which is causing issues.
      
      Fixes: fe135c63 (ARM: dts: STiH407: Move over to using the 'reserved-memory' API for obtaining DMA memory)
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Reviewed-by Peter Griffin <peter.griffin@linaro.org>
      Signed-off-by: default avatarMaxime Coquelin <maxime.coquelin@st.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      0e289e53
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-4.7' of... · 7752b0d5
      Olof Johansson authored
      Merge tag 'imx-fixes-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
      
      The i.MX fixes for 4.7:
       - Correct Micrel PHY mask to fix the issue that i.MX6UL ethernet works
         in U-Boot but not in kernel.
      
      * tag 'imx-fixes-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: imx6ul: Fix Micrel PHY mask
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      7752b0d5
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm · c141afd1
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A couple of fixes for pmd_mknotpresent()/pmd_present() for LPAE
        systems"
      
      * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 8579/1: mm: Fix definition of pmd_mknotpresent
        ARM: 8578/1: mm: ensure pmd_present only checks the valid bit
      c141afd1
  4. 18 Jun, 2016 15 commits
  5. 17 Jun, 2016 3 commits