1. 18 Aug, 2016 5 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-4.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 395c4342
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "More hibernation-related material: one fix for a recent regression in
        the core, one small cleanup of the x86-64 resume code and a
        documentation update.
      
        Specifics:
      
         - Fix a hibernate core regression resulting from uncovering a latent
           bug in its implementation of memory bitmaps by a recent commit
           (James Morse).
      
         - Use __pa() to compute a physical address in the x86-64 code
           finalizing resume from hibernation (Rafael Wysocki).
      
         - Update power management documentation related to system sleep
           states to remove outdated information from it and to add a
           description of a recently introduced hibernation debug feature to
           it (Rafael Wysocki)"
      
      * tag 'pm-4.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / hibernate: Fix rtree_next_node() to avoid walking off list ends
        x86/power/64: Use __pa() for physical address computation
        PM / sleep: Update some system sleep documentation
      395c4342
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-for-4.8-rc3' of git://people.freedesktop.org/~airlied/linux · 76dcd939
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty quiet so far:
      
         - a few amdgpu/radeon fixup for pcie pm changes
         - a couple of amdgpu fixes
         - some build fixes
         - printk fix"
      
      * tag 'drm-fixes-for-4.8-rc3' of git://people.freedesktop.org/~airlied/linux:
        drm/amdgpu: Change GART offset to 64-bit
        drm/mediatek: add ARM_SMCCC dependency
        drm/mediatek: add CONFIG_OF dependency
        drm/mediatek: add COMMON_CLK dependency
        drm/amdgpu: Fix memory trashing if UVD ring test fails
        drm/amdgpu: fix vm init error path
        drm/amdkfd: print doorbell offset as a hex value
        Revert "drm/radeon: work around lack of upstream ACPI support for D3cold"
        Revert "drm/amdgpu: work around lack of upstream ACPI support for D3cold"
      76dcd939
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-4.8' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 91d62d9f
      Dave Airlie authored
      Single 64-bit gart size fix.
      
      * 'drm-fixes-4.8' of git://people.freedesktop.org/~agd5f/linux:
        drm/amdgpu: Change GART offset to 64-bit
      91d62d9f
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · 6c16f42a
      Rafael J. Wysocki authored
      * pm-sleep:
        PM / hibernate: Fix rtree_next_node() to avoid walking off list ends
        x86/power/64: Use __pa() for physical address computation
        PM / sleep: Update some system sleep documentation
      6c16f42a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 184ca823
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Buffers powersave frame test is reversed in cfg80211, fix from Felix
          Fietkau.
      
       2) Remove bogus WARN_ON in openvswitch, from Jarno Rajahalme.
      
       3) Fix some tg3 ethtool logic bugs, and one that would cause no
          interrupts to be generated when rx-coalescing is set to 0.  From
          Satish Baddipadige and Siva Reddy Kallam.
      
       4) QLCNIC mailbox corruption and napi budget handling fix from Manish
          Chopra.
      
       5) Fix fib_trie logic when walking the trie during /proc/net/route
          output than can access a stale node pointer.  From David Forster.
      
       6) Several sctp_diag fixes from Phil Sutter.
      
       7) PAUSE frame handling fixes in mlxsw driver from Ido Schimmel.
      
       8) Checksum fixup fixes in bpf from Daniel Borkmann.
      
       9) Memork leaks in nfnetlink, from Liping Zhang.
      
      10) Use after free in rxrpc, from David Howells.
      
      11) Use after free in new skb_array code of macvtap driver, from Jason
          Wang.
      
      12) Calipso resource leak, from Colin Ian King.
      
      13) mediatek bug fixes (missing stats sync init, etc.) from Sean Wang.
      
      14) Fix bpf non-linear packet write helpers, from Daniel Borkmann.
      
      15) Fix lockdep splats in macsec, from Sabrina Dubroca.
      
      16) hv_netvsc bug fixes from Vitaly Kuznetsov, mostly to do with VF
          handling.
      
      17) Various tc-action bug fixes, from CONG Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits)
        net_sched: allow flushing tc police actions
        net_sched: unify the init logic for act_police
        net_sched: convert tcf_exts from list to pointer array
        net_sched: move tc offload macros to pkt_cls.h
        net_sched: fix a typo in tc_for_each_action()
        net_sched: remove an unnecessary list_del()
        net_sched: remove the leftover cleanup_a()
        mlxsw: spectrum: Allow packets to be trapped from any PG
        mlxsw: spectrum: Unmap 802.1Q FID before destroying it
        mlxsw: spectrum: Add missing rollbacks in error path
        mlxsw: reg: Fix missing op field fill-up
        mlxsw: spectrum: Trap loop-backed packets
        mlxsw: spectrum: Add missing packet traps
        mlxsw: spectrum: Mark port as active before registering it
        mlxsw: spectrum: Create PVID vPort before registering netdevice
        mlxsw: spectrum: Remove redundant errors from the code
        mlxsw: spectrum: Don't return upon error in removal path
        i40e: check for and deal with non-contiguous TCs
        ixgbe: Re-enable ability to toggle VLAN filtering
        ixgbe: Force VLNCTRL.VFE to be set in all VMDq paths
        ...
      184ca823
  2. 17 Aug, 2016 21 commits
  3. 16 Aug, 2016 14 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 3ec60b92
      Linus Torvalds authored
      Pull virtio/vhost fixes from Michael Tsirkin:
       - test fixes
       - a vsock fix
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        tools/virtio: add dma stubs
        vhost/test: fix after swiotlb changes
        vhost/vsock: drop space available check for TX vq
        ringtest: test build fix
      3ec60b92
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 45b6ae76
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "A couple of bug fixes, minor cleanup and a change to the default
        config"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/dasd: fix failing CUIR assignment under LPAR
        s390/pageattr: handle numpages parameter correctly
        s390/dasd: fix hanging device after clear subchannel
        s390/qdio: avoid reschedule of outbound tasklet once killed
        s390/qdio: remove checks for ccw device internal state
        s390/qdio: fix double return code evaluation
        s390/qdio: get rid of spin_lock_irqsave usage
        s390/cio: remove subchannel_id from ccw_device_private
        s390/qdio: obtain subchannel_id via ccw_device_get_schid()
        s390/cio: stop using subchannel_id from ccw_device_private
        s390/config: make the vector optimized crc function builtin
        s390/lib: fix memcmp and strstr
        s390/crc32-vx: Fix checksum calculation for small sizes
        s390: clarify compressed image code path
      45b6ae76
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · ae5d68be
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes the following issues:
      
         - Missing ULL suffixes for 64-bit constants in sha3.
         - Two caam AEAD regressions.
         - Bogus setkey hooks in non-hmac caam hashes.
         - Missing kbuild dependency for powerpc crc32c"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: caam - fix non-hmac hashes
        crypto: powerpc - CRYPT_CRC32C_VPMSUM should depend on ALTIVEC
        crypto: caam - defer aead_set_sh_desc in case of zero authsize
        crypto: caam - fix echainiv(authenc) encrypt shared descriptor
        crypto: sha3 - Add missing ULL suffixes for 64-bit constants
      ae5d68be
    • Dave Ertman's avatar
      i40e: check for and deal with non-contiguous TCs · fbfe12c6
      Dave Ertman authored
      The i40e driver was causing a kernel panic when
      non-contiguous Traffic Classes, or Traffic Classes not
      starting with TC0, were configured on a link partner switch.
      i40e does not support non-contiguous TCs.
      
      To fix this, the patch changes the logic when determining
      the total number of TCs enabled.  Before, this would use the
      highest TC number enabled and assume that all TCs below it were
      also enabled.  Now, we create a bitmask of enabled TCs and scan
      it to determine not only the number of TCs, but also if the set
      of enabled TCs starts at zero and is contiguous.  If not, then
      DCB is disabled by only returning one TC.
      Signed-off-by: default avatarDave Ertman <david.m.ertman@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fbfe12c6
    • Alexander Duyck's avatar
      ixgbe: Re-enable ability to toggle VLAN filtering · 3d951822
      Alexander Duyck authored
      Back when I submitted the GSO code I messed up and dropped the support for
      disabling the VLAN tag filtering via the feature bit.  This patch
      re-enables the use of the NETIF_F_HW_VLAN_CTAG_FILTER to enable/disable the
      VLAN filtering independent of toggling promiscuous mode.
      
      Fixes: b83e3010 ("ixgbe/ixgbevf: Add support for GSO partial")
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3d951822
    • Alexander Duyck's avatar
      ixgbe: Force VLNCTRL.VFE to be set in all VMDq paths · f60439bc
      Alexander Duyck authored
      When I was adding the code for enabling VLAN promiscuous mode with SR-IOV
      enabled I had inadvertently left the VLNCTRL.VFE bit unchanged as I has
      assumed there was code in another path that was setting it when we enabled
      SR-IOV.  This wasn't the case and as a result we were just disabling VLAN
      filtering for all the VFs apparently.
      
      Also the previous patches were always clearing CFIEN which was always set
      to 0 by the hardware anyway so I am dropping the redundant bit clearing.
      
      Fixes: 16369564 ("ixgbe: Add support for VLAN promiscuous with SR-IOV")
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f60439bc
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c39378fc
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Here are a few pin control fixes for the v4.8 series, nothing special
        about them:
      
         - Add the missing <linux/io.h> header to the Intel Merrifield driver
           to get rid of build mess.
      
         - Drop two instances of pinctrl_unregister() called for drivers using
           devm_* resource management.
      
         - Remove the default debounce time for the AMD driver"
      
      * tag 'pinctrl-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: intel: merrifield: Add missed header
        pinctrl/amd: Remove the default de-bounce time
        pinctrl: pistachio: Drop pinctrl_unregister for devm_ registered device
        pinctrl: meson: Drop pinctrl_unregister for devm_ registered device
      c39378fc
    • Jarod Wilson's avatar
      e1000e: fix PTP on e1000_pch_lpt variants · 8037dd60
      Jarod Wilson authored
      I've got reports that the Intel I-218V NIC in Intel NUC5i5RYH systems used
      as a PTP slave experiences random ~10 hour clock jumps, which are resolved
      if the same workaround for the 82574 and 82583 is employed, so set the
      appropriate flag2 in e1000_pch_lpt_info too.
      Reported-by: default avatarRupesh Patel <rupatel@redhat.com>
      Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      8037dd60
    • Jarod Wilson's avatar
      e1000e: factor out systim sanitization · 0be5b96c
      Jarod Wilson authored
      This is prepatory work for an expanding list of adapter families that have
      occasional ~10 hour clock jumps when being used for PTP. Factor out the
      sanitization function and convert to using a feature (bug) flag, per
      suggestion from Jesse Brandeburg.
      
      Littering functional code with device-specific checks is much messier than
      simply checking a flag, and having device-specific init set flags as needed.
      There are probably a number of other cases in the e1000e code that
      could/should be converted similarly.
      Suggested-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0be5b96c
    • Kshitiz Gupta's avatar
      igb: fix adjusting PTP timestamps for Tx/Rx latency · 0066c8b6
      Kshitiz Gupta authored
      Fix PHY delay compensation math in igb_ptp_tx_hwtstamp() and
      igb_ptp_rx_rgtstamp. Add PHY delay compensation in
      igb_ptp_rx_pktstamp().
      
      In the IGB driver, there are two functions that retrieve timestamps
      received by the PHY - igb_ptp_rx_rgtstamp() and igb_ptp_rx_pktstamp().
      The previous commit only changed igb_ptp_rx_rgtstamp(), and the change
      was incorrect.
      
      There are two instances in which PHY delay compensations should be
      made:
      
      - Before the packet transmission over the PHY, the latency between
        when the packet is timestamped and transmission of the packets,
        should be an add operation, but it is currently a subtract.
      
      - After the packets are received from the PHY, the latency between
        the receiving and timestamping of the packets should be a subtract
        operation, but it is currently an add.
      Signed-off-by: default avatarKshitiz Gupta <kshitiz.gupta@ni.com>
      Fixes: 3f544d2a (igb: adjust ptp timestamps for tx/rx latency)
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0066c8b6
    • Felix Kuehling's avatar
      drm/amdgpu: Change GART offset to 64-bit · cab0b8d5
      Felix Kuehling authored
      The GART aperture size can be bigger than 4GB. Therefore the offset
      used in amdgpu_gart_bind and amdgpu_gart_unbind must be 64-bit.
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      cab0b8d5
    • James Morse's avatar
      PM / hibernate: Fix rtree_next_node() to avoid walking off list ends · 924d8696
      James Morse authored
      rtree_next_node() walks the linked list of leaf nodes to find the next
      block of pages in the struct memory_bitmap. If it walks off the end of
      the list of nodes, it walks the list of memory zones to find the next
      region of memory. If it walks off the end of the list of zones, it
      returns false.
      
      This leaves the struct bm_position's node and zone pointers pointing
      at their respective struct list_heads in struct mem_zone_bm_rtree.
      
      memory_bm_find_bit() uses struct bm_position's node and zone pointers
      to avoid walking lists and trees if the next bit appears in the same
      node/zone. It handles these values being stale.
      
      Swap rtree_next_node()s 'step then test' to 'test-next then step',
      this means if we reach the end of memory we return false and leave
      the node and zone pointers as they were.
      
      This fixes a panic on resume using AMD Seattle with 64K pages:
      [    6.868732] Freezing user space processes ... (elapsed 0.000 seconds) done.
      [    6.875753] Double checking all user space processes after OOM killer disable... (elapsed 0.000 seconds)
      [    6.896453] PM: Using 3 thread(s) for decompression.
      [    6.896453] PM: Loading and decompressing image data (5339 pages)...
      [    7.318890] PM: Image loading progress:   0%
      [    7.323395] Unable to handle kernel paging request at virtual address 00800040
      [    7.330611] pgd = ffff000008df0000
      [    7.334003] [00800040] *pgd=00000083fffe0003, *pud=00000083fffe0003, *pmd=00000083fffd0003, *pte=0000000000000000
      [    7.344266] Internal error: Oops: 96000005 [#1] PREEMPT SMP
      [    7.349825] Modules linked in:
      [    7.352871] CPU: 2 PID: 1 Comm: swapper/0 Tainted: G        W I     4.8.0-rc1 #4737
      [    7.360512] Hardware name: AMD Overdrive/Supercharger/Default string, BIOS ROD1002C 04/08/2016
      [    7.369109] task: ffff8003c0220000 task.stack: ffff8003c0280000
      [    7.375020] PC is at set_bit+0x18/0x30
      [    7.378758] LR is at memory_bm_set_bit+0x24/0x30
      [    7.383362] pc : [<ffff00000835bbc8>] lr : [<ffff0000080faf18>] pstate: 60000045
      [    7.390743] sp : ffff8003c0283b00
      [    7.473551]
      [    7.475031] Process swapper/0 (pid: 1, stack limit = 0xffff8003c0280020)
      [    7.481718] Stack: (0xffff8003c0283b00 to 0xffff8003c0284000)
      [    7.800075] Call trace:
      [    7.887097] [<ffff00000835bbc8>] set_bit+0x18/0x30
      [    7.891876] [<ffff0000080fb038>] duplicate_memory_bitmap.constprop.38+0x54/0x70
      [    7.899172] [<ffff0000080fcc40>] snapshot_write_next+0x22c/0x47c
      [    7.905166] [<ffff0000080fe1b4>] load_image_lzo+0x754/0xa88
      [    7.910725] [<ffff0000080ff0a8>] swsusp_read+0x144/0x230
      [    7.916025] [<ffff0000080fa338>] load_image_and_restore+0x58/0x90
      [    7.922105] [<ffff0000080fa660>] software_resume+0x2f0/0x338
      [    7.927752] [<ffff000008083350>] do_one_initcall+0x38/0x11c
      [    7.933314] [<ffff000008b40cc0>] kernel_init_freeable+0x14c/0x1ec
      [    7.939395] [<ffff0000087ce564>] kernel_init+0x10/0xfc
      [    7.944520] [<ffff000008082e90>] ret_from_fork+0x10/0x40
      [    7.949820] Code: d2800022 8b400c21 f9800031 9ac32043 (c85f7c22)
      [    7.955909] ---[ end trace 0024a5986e6ff323 ]---
      [    7.960529] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
      
      Here struct mem_zone_bm_rtree's start_pfn has been returned instead of
      struct rtree_node's addr as the node/zone pointers are corrupt after
      we walked off the end of the lists during mark_unsafe_pages().
      
      This behaviour was exposed by commit 6dbecfd3 ("PM / hibernate:
      Simplify mark_unsafe_pages()"), which caused mark_unsafe_pages() to call
      duplicate_memory_bitmap(), which uses memory_bm_find_bit() after walking
      off the end of the memory bitmap.
      
      Fixes: 3a20cb17 (PM / Hibernate: Implement position keeping in radix tree)
      Signed-off-by: default avatarJames Morse <james.morse@arm.com>
      [ rjw: Subject ]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      924d8696
    • David S. Miller's avatar
      Merge branch 'mediatek-fixes' · a1560dd7
      David S. Miller authored
      Sean Wang says:
      
      ====================
      mediatek: Fix warning and issue
      
      This patch set fixes the following warning and issues
      
      v1 -> v2: Fix message typos and add coverletter
      
      v2 -> v3: Split from the previous series for submitting bug fixes
      as a series targeting 'net'
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a1560dd7
    • sean.wang@mediatek.com's avatar
      net: ethernet: mediatek: fix runtime warning raised by inconsistent struct... · 55a4e778
      sean.wang@mediatek.com authored
      net: ethernet: mediatek: fix runtime warning raised by inconsistent struct device pointers passed to DMA API
      
      Runtime warning occurs if DMA-API debug feature is enabled that would be
      raised by pointers passed to DMA API as arguments to inconsistent struct
      device objects, so that the patch makes them usage aligned between DMA
      operations such as dma_map_*() and dma_unmap_*() to eliminate the warning.
      Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      55a4e778