17 Apr, 2015

16 commits

  • For the short-term solution, lets fix bpf helper functions to use
    skb->mac_header relative offsets instead of skb->data in order to
    get the same eBPF programs with cls_bpf and act_bpf work on ingress
    and egress qdisc path. We need to ensure that mac_header is set
    before calling into programs. This is effectively the first option
    from below referenced discussion.

    More long term solution for LD_ABS|LD_IND instructions will be more
    intrusive but also more beneficial than this, and implemented later
    as it's too risky at this point in time.

    I.e., we plan to look into the option of moving skb_pull() out of
    eth_type_trans() and into netif_receive_skb() as has been suggested
    as second option. Meanwhile, this solution ensures ingress can be
    used with eBPF, too, and that we won't run into ABI troubles later.
    For dealing with negative offsets inside eBPF helper functions,
    we've implemented bpf_skb_clone_unwritable() to test for unwriteable
    headers.

    Reference: http://thread.gmane.org/gmane.linux.network/359129/focus=359694
    Fixes: 608cd71a9c7c ("tc: bpf: generalize pedit action")
    Fixes: 91bc4822c3d6 ("tc: bpf: add checksum helpers")
    Signed-off-by: Alexei Starovoitov
    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • Vince Bridgers says:

    ====================
    stmmac: Correct flow control configuration

    This series of patches corrects flow control configuration for the Synopsys
    GMAC driver.

    Flow control is configured based on a configurable receive fifo size. If
    less than 4Kbytes flow control is left disabled and a warning is presented. If
    a receive fifo size is not specified, flow control is left disabled to
    maintain current behavior. Unicast pause detection was disabled, but is now
    enabled. The pause time was modified to be maximum time per a XON/XOFF
    flow control mode of operation.

    This patch was tested on an Altera Cyclone 5 and an Altera Arria 10 devkit,
    and verified that flow control operates as expected when enabled.

    Please consider this series for inclusion so that flow control will
    function as expected for the Synopsys GMAC controller.
    ====================

    Acked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Configure flow control correctly, and based on the receive fifo size read
    as a property from the devicetree since the Synopsys stmmac fifo sizes are
    configurable based on a particular chip's implementation. This patch maintains
    the previous incorrect behavior unless the receive fifo size is found in the
    devicetree.

    Signed-off-by: Vince Bridgers
    Signed-off-by: David S. Miller

    Vince Bridgers
     
  • Unicast pause frame detect was not being enabled for the Synopsys stmmac. This
    patch sets Unicast pause frame detect in MAC register 6 so that pause frame
    detection by the stmmac conforms to IEEE 802.3, Annex 31B.3.3 Receive
    Operation - Specifically, a MAC shall respond to pause frames containing
    either the reserved multicast address or the unique physical address
    associated with this station.

    Signed-off-by: Vince Bridgers
    Signed-off-by: David S. Miller

    Vince Bridgers
     
  • Read the tx-fifo-depth and rx-fifo-depth from the devicetree. The Synopsys
    stmmac controller fifos are configurable per product instance, and the fifo
    sizes are needed to configure certain features correctly such as flow control.

    Signed-off-by: Vince Bridgers
    Signed-off-by: David S. Miller

    Vince Bridgers
     
  • Add defines and documentation for enabling flow control on the stmmac. Flow
    control was not implemented correctly on the stmmac driver and is currently
    non-functional as a result. This is the first in a series of small patches
    to correctly implement this feature.

    Signed-off-by: Vince Bridgers
    Signed-off-by: David S. Miller

    Vince Bridgers
     
  • The Synopsys stmmac fifo sizes are configurable, and need to be known
    in order to configure certain controller features. This patch adds
    tx-fifo-depth and rx-fifo-depth properties to the stmmac document
    file.

    Signed-off-by: Vince Bridgers
    Signed-off-by: David S. Miller

    Vince Bridgers
     
  • An oops exists in the flow of stmmac_release().
    phy_ethtool_get_wol() depends on phydev->drv.
    phydev->drv will be null after stmmac_mdio_unreg() completes.

    Steps to reproduce on Quark X1000:

    1. ifconfig eth0 192.168.0.1
    2. rmmod stmmac_pci

    To fix this stmmac_mdio_unreg() should be run after unregister_netdev().

    Signed-off-by: Bryan O'Donoghue
    Reported-by: Dan O'Donovan
    Signed-off-by: David S. Miller

    Bryan O'Donoghue
     
  • A duplicate declaration of 'ret' can result in hiding an error code.
    Drop it.

    Fixes: 17ee3e04ddbf ("net: dsa: Provide additional RMON statistics")
    Signed-off-by: Guenter Roeck
    Signed-off-by: David S. Miller

    Guenter Roeck
     
  • Remove duplicated include.

    Signed-off-by: Wei Yongjun
    Acked-by: Nicolas Dichtel
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Remove including that don't need it.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Fix to return -EINVAL from the invalid PCI region size error
    handling case instead of 0, as done elsewhere in this function.

    Signed-off-by: Wei Yongjun
    Acked-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Return correct error code if _mv88e6xxx_reg_read returns an error.

    Fixes: facd95b2e0ec0 ("net: dsa: mv88e6xxx: Add Hardware bridging support")
    Signed-off-by: Guenter Roeck
    Reviewed-by: Andrew Lunn
    Reported-by: kbuild test robot
    Signed-off-by: David S. Miller

    Guenter Roeck
     
  • Fixes: 7a6c8c34e5b7 ("fou: implement FOU_CMD_GET")
    Reported-by: Dan Carpenter
    Cc: Dan Carpenter
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    WANG Cong
     
  • Due to missing bounds check the DAG pass of the BPF verifier can corrupt
    the memory which can cause random crashes during program loading:

    [8.449451] BUG: unable to handle kernel paging request at ffffffffffffffff
    [8.451293] IP: [] kmem_cache_alloc_trace+0x8d/0x2f0
    [8.452329] Oops: 0000 [#1] SMP
    [8.452329] Call Trace:
    [8.452329] [] bpf_check+0x852/0x2000
    [8.452329] [] bpf_prog_load+0x1e4/0x310
    [8.452329] [] ? might_fault+0x5f/0xb0
    [8.452329] [] SyS_bpf+0x806/0xa30

    Fixes: f1bca824dabb ("bpf: add search pruning optimization to verifier")
    Signed-off-by: Alexei Starovoitov
    Acked-by: Hannes Frederic Sowa
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Alexei Starovoitov
     
  • set_filter_wr is requesting __GFP_NOFAIL allocation although it can return
    ENOMEM without any problems obviously (t4_l2t_set_switching does that
    already). So the non-failing requirement is too strong without any
    obvious reason. Drop __GFP_NOFAIL and reorganize the code to have the
    failure paths easier.

    The same applies to _c4iw_write_mem_dma_aligned which uses __GFP_NOFAIL
    and then checks the return value and returns -ENOMEM on failure. This
    doesn't make any sense what so ever. Either the allocation cannot fail or
    it can.

    del_filter_wr seems to be safe as well because the filter entry is not
    marked as pending and the return value is propagated up the stack up to
    c4iw_destroy_listen.

    Signed-off-by: Michal Hocko
    Cc: David Rientjes
    Cc: Johannes Weiner
    Cc: Dave Chinner
    Cc: "Theodore Ts'o"
    Cc: Mel Gorman
    Cc: Tetsuo Handa
    Cc: "David S. Miller"
    Cc: Hariprasad S
    Cc: Jan Kara
    Cc: Tetsuo Handa
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Michal Hocko
     

16 Apr, 2015

8 commits

  • Jeff Kirsher says:

    ====================
    Intel Wired LAN Driver Updates 2015-04-14

    This series contains updates to i40e and i40evf.

    Mitch provides a fix for i40e, where VFs were gone and the associated
    VSI's had been removed and the rings were not stopped, which in some
    circumstances cased memory corruption or DMAR errors. So stop all the
    rings associated with each VF before releasing its resources. Also
    cleaned up a poorly indented piece of code. Fixes VF link state, where
    VF devices were assuming link is up unless told otherwise, which means
    that VFs instantiated on a PF with no link, would report the wrong state.

    Anjali adds support to add Flow director Sideband rules for a VF from it's
    PF. Fixes a recently discovered hardware issue, where after a VFLR
    hardware might be indicating to us a reset completion little too early, so
    wait another 10 msec for cache to be cleaned up.

    Jesse enables the user to dump the internal hardware state for better
    debugging by allowing a bash script to acquire information about the
    internal hardware state. The data output to the kernel log is collected
    by the script and can then be sent to Intel. Also fixed a possible
    failure path to allocate memory that was found by smatch. Cleaned up
    unused local variables.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit 9a2620c877454 ("bnx2x: prevent WARN during driver unload")
    switched the napi/busy_lock locking mechanism from spin_lock() into
    spin_lock_bh(), breaking inter-operability with netconsole, as netpoll
    disables interrupts prior to calling our napi mechanism.

    This switches the driver into using atomic assignments instead of the
    spinlock mechanisms previously employed.

    Based on initial patch from Yuval Mintz & Ariel Elior

    I basically added softirq starvation avoidance, and mixture
    of atomic operations, plain writes and barriers.

    Note this slightly reduces the overhead for this driver when no
    busy_poll sockets are in use.

    Fixes: 9a2620c877454 ("bnx2x: prevent WARN during driver unload")
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • The code sets the expiry value of the timer to a relative value and
    starts it with hrtimer_start_expires. That's fine, but that only works
    once. The timer is started in relative mode, so the expiry value gets
    overwritten with the absolut expiry time (now + expiry).

    So once the timer expired, a new call to hrtimer_start_expires results
    in an immidiately expired timer, because the expiry value is
    already in the past.

    Use the proper mechanisms to (re)start the timer in the intended way.

    Signed-off-by: Thomas Gleixner
    Cc: "David S. Miller"
    Cc: dingtianhong
    Cc: Arnd Bergmann
    Cc: Zhangfei Gao
    Cc: Dan Carpenter
    Cc: netdev@vger.kernel.org
    Acked-by: Ding Tianhong
    Acked-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Thomas Gleixner
     
  • Pull kconfig updates from Michal Marek:
    "Here is the kconfig stuff for v4.1-rc1:

    - fixes for mergeconfig (used by make kvmconfig/tinyconfig)

    - header cleanup

    - make -s *config is silent now"

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kconfig: Do not print status messages in make -s mode
    kconfig: Simplify Makefile
    kbuild: add generic mergeconfig target, %.config
    merge_config.sh: rename MAKE to RUNMAKE
    merge_config.sh: improve indentation
    kbuild: mergeconfig: remove redundant $(objtree)
    kbuild: mergeconfig: move an error check to merge_config.sh
    kbuild: mergeconfig: fix "jobserver unavailable" warning
    kconfig: Remove unnecessary prototypes from headers
    kconfig: Remove dead code
    kconfig: Get rid of the P() macro in headers
    kconfig: fix a misspelling in scripts/kconfig/merge_config.sh

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    "Here is the first round of kbuild changes for v4.1-rc1:

    - kallsyms fix for ARM and cleanup

    - make dep(end) removed (developers have no sense of nostalgia these
    days...)

    - include Makefiles by relative path

    - stop useless rebuilds of asm-offsets.h and bounds.h"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
    Kbuild: kallsyms: ignore veneers emitted by the ARM linker
    kbuild: ia64: use $(src)/Makefile.gate rather than particular path
    kbuild: include $(src)/Makefile rather than $(obj)/Makefile
    kbuild: use relative path more to include Makefile
    kbuild: use relative path to include Makefile
    kbuild: do not add $(bounds-file) and $(offsets-file) to targets
    kbuild: remove warning about "make depend"
    kbuild: Don't reset timestamps in include/generated if not needed

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Highlights for this window:

    - improved AVC hashing for SELinux by John Brooks and Stephen Smalley

    - addition of an unconfined label to Smack

    - Smack documentation update

    - TPM driver updates"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (28 commits)
    lsm: copy comm before calling audit_log to avoid race in string printing
    tomoyo: Do not generate empty policy files
    tomoyo: Use if_changed when generating builtin-policy.h
    tomoyo: Use bin2c to generate builtin-policy.h
    selinux: increase avtab max buckets
    selinux: Use a better hash function for avtab
    selinux: convert avtab hash table to flex_array
    selinux: reconcile security_netlbl_secattr_to_sid() and mls_import_netlbl_cat()
    selinux: remove unnecessary pointer reassignment
    Smack: Updates for Smack documentation
    tpm/st33zp24/spi: Add missing device table for spi phy.
    tpm/st33zp24: Add proper wait for ordinal duration in case of irq mode
    smack: Fix gcc warning from unused smack_syslog_lock mutex in smackfs.c
    Smack: Allow an unconfined label in bringup mode
    Smack: getting the Smack security context of keys
    Smack: Assign smack_known_web as default smk_in label for kernel thread's socket
    tpm/tpm_infineon: Use struct dev_pm_ops for power management
    MAINTAINERS: Add Jason as designated reviewer for TPM
    tpm: Update KConfig text to include TPM2.0 FIFO chips
    tpm/st33zp24/dts/st33zp24-spi: Add dts documentation for st33zp24 spi phy
    ...

    Linus Torvalds
     
  • Pull crypto update from Herbert Xu:
    "Here is the crypto update for 4.1:

    New interfaces:
    - user-space interface for AEAD
    - user-space interface for RNG (i.e., pseudo RNG)

    New hashes:
    - ARMv8 SHA1/256
    - ARMv8 AES
    - ARMv8 GHASH
    - ARM assembler and NEON SHA256
    - MIPS OCTEON SHA1/256/512
    - MIPS img-hash SHA1/256 and MD5
    - Power 8 VMX AES/CBC/CTR/GHASH
    - PPC assembler AES, SHA1/256 and MD5
    - Broadcom IPROC RNG driver

    Cleanups/fixes:
    - prevent internal helper algos from being exposed to user-space
    - merge common code from assembly/C SHA implementations
    - misc fixes"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (169 commits)
    crypto: arm - workaround for building with old binutils
    crypto: arm/sha256 - avoid sha256 code on ARMv7-M
    crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer
    crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer
    crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer
    crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer
    crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer
    crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer
    crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer
    crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer
    crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer
    crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer
    crypto: sha512-generic - move to generic glue implementation
    crypto: sha256-generic - move to generic glue implementation
    crypto: sha1-generic - move to generic glue implementation
    crypto: sha512 - implement base layer for SHA-512
    crypto: sha256 - implement base layer for SHA-256
    crypto: sha1 - implement base layer for SHA-1
    crypto: api - remove instance when test failed
    crypto: api - Move alg ref count init to crypto_check_alg
    ...

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) Add BQL support to via-rhine, from Tino Reichardt.

    2) Integrate SWITCHDEV layer support into the DSA layer, so DSA drivers
    can support hw switch offloading. From Floria Fainelli.

    3) Allow 'ip address' commands to initiate multicast group join/leave,
    from Madhu Challa.

    4) Many ipv4 FIB lookup optimizations from Alexander Duyck.

    5) Support EBPF in cls_bpf classifier and act_bpf action, from Daniel
    Borkmann.

    6) Remove the ugly compat support in ARP for ugly layers like ax25,
    rose, etc. And use this to clean up the neigh layer, then use it to
    implement MPLS support. All from Eric Biederman.

    7) Support L3 forwarding offloading in switches, from Scott Feldman.

    8) Collapse the LOCAL and MAIN ipv4 FIB tables when possible, to speed
    up route lookups even further. From Alexander Duyck.

    9) Many improvements and bug fixes to the rhashtable implementation,
    from Herbert Xu and Thomas Graf. In particular, in the case where
    an rhashtable user bulk adds a large number of items into an empty
    table, we expand the table much more sanely.

    10) Don't make the tcp_metrics hash table per-namespace, from Eric
    Biederman.

    11) Extend EBPF to access SKB fields, from Alexei Starovoitov.

    12) Split out new connection request sockets so that they can be
    established in the main hash table. Much less false sharing since
    hash lookups go direct to the request sockets instead of having to
    go first to the listener then to the request socks hashed
    underneath. From Eric Dumazet.

    13) Add async I/O support for crytpo AF_ALG sockets, from Tadeusz Struk.

    14) Support stable privacy address generation for RFC7217 in IPV6. From
    Hannes Frederic Sowa.

    15) Hash network namespace into IP frag IDs, also from Hannes Frederic
    Sowa.

    16) Convert PTP get/set methods to use 64-bit time, from Richard
    Cochran.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1816 commits)
    fm10k: Bump driver version to 0.15.2
    fm10k: corrected VF multicast update
    fm10k: mbx_update_max_size does not drop all oversized messages
    fm10k: reset head instead of calling update_max_size
    fm10k: renamed mbx_tx_dropped to mbx_tx_oversized
    fm10k: update xcast mode before synchronizing multicast addresses
    fm10k: start service timer on probe
    fm10k: fix function header comment
    fm10k: comment next_vf_mbx flow
    fm10k: don't handle mailbox events in iov_event path and always process mailbox
    fm10k: use separate workqueue for fm10k driver
    fm10k: Set PF queues to unlimited bandwidth during virtualization
    fm10k: expose tx_timeout_count as an ethtool stat
    fm10k: only increment tx_timeout_count in Tx hang path
    fm10k: remove extraneous "Reset interface" message
    fm10k: separate PF only stats so that VF does not display them
    fm10k: use hw->mac.max_queues for stats
    fm10k: only show actual queues, not the maximum in hardware
    fm10k: allow creation of VLAN on default vid
    fm10k: fix unused warnings
    ...

    Linus Torvalds
     

15 Apr, 2015

16 commits

  • Bump.

    Change-ID: Id14baae72332d0f1a9bc5d351ea1a85cb0295ec3
    Signed-off-by: Catherine Sullivan
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Catherine Sullivan
     
  • Pull ARM updates from Russell King:
    "Included in this update are both some long term fixes and some new
    features.

    Fixes:

    - An integer overflow in the calculation of ELF_ET_DYN_BASE.

    - Avoiding OOMs for high-order IOMMU allocations

    - SMP requires the data cache to be enabled for synchronisation
    primitives to work, so prevent the CPU_DCACHE_DISABLE option being
    visible on SMP builds.

    - A bug going back 10+ years in the noMMU ARM94* CPU support code,
    where it corrupts registers. Found by folk getting Linux running
    on their cameras.

    - Versatile Express needs an errata workaround enabled for CPU
    hot-unplug to work.

    Features:

    - Clean up module linker by handling out of range relocations
    separately from relocation cases we don't handle.

    - Fix a long term bug in the pci_mmap_page_range() code, which we
    hope won't impact userspace (we hope there's no users of the
    existing broken interface.)

    - Don't map DMA coherent allocations when we don't have a MMU.

    - Drop experimental status for SMP_ON_UP.

    - Warn when DT doesn't specify ePAPR mandatory cache properties.

    - Add documentation concerning how we find the start of physical
    memory for AUTO_ZRELADDR kernels, detailing why we have chosen the
    mask and the implications of changing it.

    - Updates from Ard Biesheuvel to address some issues with large
    kernels (such as allyesconfig) failing to link.

    - Allow hibernation to work on modern (ARMv7) CPUs - this appears to
    have never worked in the past on these CPUs.

    - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output
    format (hopefully without userspace breaking... let's hope that if
    it causes someone a problem, they tell us.)

    - Fix tegra-ahb DT offsets.

    - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/
    flush_dcache_all()) code to be more efficient, and enable this
    errata workaround by default for ARMv7+SMP CPUs. This complements
    the Versatile Express fix above.

    - Rework ARMv7 context code for errata 430973, so that only Cortex A8
    CPUs are impacted by the branch target buffer flush when this
    errata is enabled. Also update the help text to indicate that all
    r1p* A8 CPUs are impacted.

    - Switch ARM to the generic show_mem() implementation, it conveys all
    the information which we were already reporting.

    - Prevent slow timer sources being used for udelay() - timers running
    at less than 1MHz are not useful for this, and can cause udelay()
    to return immediately, without any wait. Using such a slow timer
    is silly.

    - VDSO support for 32-bit ARM, mainly for gettimeofday() using the
    ARM architected timer.

    - Perf support for Scorpion performance monitoring units"

    vdso semantic conflict fixed up as per linux-next.

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits)
    ARM: update errata 430973 documentation to cover Cortex A8 r1p*
    ARM: ensure delay timer has sufficient accuracy for delays
    ARM: switch to use the generic show_mem() implementation
    ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
    ARM: enable ARM errata 643719 workaround by default
    ARM: cache-v7: optimise test for Cortex A9 r0pX devices
    ARM: cache-v7: optimise branches in v7_flush_cache_louis
    ARM: cache-v7: consolidate initialisation of cache level index
    ARM: cache-v7: shift CLIDR to extract appropriate field before masking
    ARM: cache-v7: use movw/movt instructions
    ARM: allow 16-bit instructions in ALT_UP()
    ARM: proc-arm94*.S: fix setup function
    ARM: vexpress: fix CPU hotplug with CT9x4 tile.
    ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
    ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address
    ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
    ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
    ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
    ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
    ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:
    "The major change in this merge is the removal of the support for
    31-bit kernels. Naturally 31-bit user space will continue to work via
    the compat layer.

    And then some cleanup, some improvements and bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits)
    s390/smp: wait until secondaries are active & online
    s390/hibernate: fix save and restore of kernel text section
    s390/cacheinfo: add missing facility check
    s390/syscalls: simplify syscall_get_arch()
    s390/irq: enforce correct irqclass_sub_desc array size
    s390: remove "64" suffix from mem64.S and swsusp_asm64.S
    s390/ipl: cleanup macro usage
    s390/ipl: cleanup shutdown_action attributes
    s390/ipl: cleanup bin attr usage
    s390/uprobes: fix address space annotation
    s390: add missing arch_release_task_struct() declaration
    s390: make couple of functions and variables static
    s390/maccess: improve s390_kernel_write()
    s390/maccess: remove potentially broken probe_kernel_write()
    s390/watchdog: support for KVM hypervisors and delete pr_info messages
    s390/watchdog: enable KEEPALIVE for /dev/watchdog
    s390/dasd: remove setting of scheduler from driver
    s390/traps: panic() instead of die() on translation exception
    s390: remove test_facility(2) (== z/Architecture mode active) checks
    s390/cmpxchg: simplify cmpxchg_double
    ...

    Linus Torvalds
     
  • The kernel has added SPEED_40000 for ethtool.
    Go ahead and use the new #define.

    Change-ID: Ic7e16e5c9e91085afe539f11ee1b7668adc4d0ef
    Signed-off-by: Greg Rose
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Greg Rose
     
  • These changes just remove unused variables and any code that uses them
    as the results of storing into these variables doesn't have any
    side effects that I can see or provide any benefit.

    Change-ID: I8a5ec7132ff1443d23aae729cef94beaaaf19e3a
    Signed-off-by: Jesse Brandeburg
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • The init_interrupt_scheme function had a possible failure
    path to allocate memory that was found by smatch.

    This adds the correct handling to the function to abort
    probe if the memory allocation fails.

    Change-ID: I2bf1d826a244209619da4c452d0d58b3eb5e26a3
    Signed-off-by: Jesse Brandeburg
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • Store the 8 bytes of the WR_CSR_PROT field returned as part of the get
    device/function capabilities AQ command.

    Change-ID: Ifcaeea2ff29885fa769e4f384c7db88a25e8afd0
    Signed-off-by: Kevin Scott
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Kevin Scott
     
  • Pull power management and ACPI updates from Rafael Wysocki:
    "These are mostly fixes and cleanups all over, although there are a few
    items that sort of fall into the new feature category.

    First off, we have new callbacks for PM domains that should help us to
    handle some issues related to device initialization in a better way.

    There also is some consolidation in the unified device properties API
    area allowing us to use that inferface for accessing data coming from
    platform initialization code in addition to firmware-provided data.

    We have some new device/CPU IDs in a few drivers, support for new
    chips and a new cpufreq driver too.

    Specifics:

    - Generic PM domains support update including new PM domain callbacks
    to handle device initialization better (Russell King, Rafael J
    Wysocki, Kevin Hilman)

    - Unified device properties API update including a new mechanism for
    accessing data provided by platform initialization code (Rafael J
    Wysocki, Adrian Hunter)

    - ARM cpuidle update including ARM32/ARM64 handling consolidation
    (Daniel Lezcano)

    - intel_idle update including support for the Silvermont Core in the
    Baytrail SOC and for the Airmont Core in the Cherrytrail and
    Braswell SOCs (Len Brown, Mathias Krause)

    - New cpufreq driver for Hisilicon ACPU (Leo Yan)

    - intel_pstate update including support for the Knights Landing chip
    (Dasaratharaman Chandramouli, Kristen Carlson Accardi)

    - QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann)

    - powernv cpufreq driver update (Shilpasri G Bhat)

    - devfreq update including Tegra support changes (Tomeu Vizoso,
    MyungJoo Ham, Chanwoo Choi)

    - powercap RAPL (Running-Average Power Limit) driver update including
    support for Intel Broadwell server chips (Jacob Pan, Mathias Krause)

    - ACPI device enumeration update related to the handling of the
    special PRP0001 device ID allowing DT-style 'compatible' property
    to be used for ACPI device identification (Rafael J Wysocki)

    - ACPI EC driver update including limited _DEP support (Lan Tianyu,
    Lv Zheng)

    - ACPI backlight driver update including a new mechanism to allow
    native backlight handling to be forced on non-Windows 8 systems and
    a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede)

    - New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu)

    - Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger,
    Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki)

    - Fixes related to suspend-to-idle for the iTCO watchdog driver and
    the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu)

    - PM tracing support for the suspend phase of system suspend/resume
    transitions (Zhonghui Fu)

    - Configurable delay for the system suspend/resume testing facility
    (Brian Norris)

    - PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)"

    * tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
    ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
    ACPI / scan: Rework modalias creation when "compatible" is present
    intel_idle: mark cpu id array as __initconst
    powercap / RAPL: mark rapl_ids array as __initconst
    powercap / RAPL: add ID for Broadwell server
    intel_pstate: Knights Landing support
    intel_pstate: remove MSR test
    cpufreq: fix qoriq uniprocessor build
    ACPI / scan: Take the PRP0001 position in the list of IDs into account
    ACPI / scan: Simplify acpi_match_device()
    ACPI / scan: Generalize of_compatible matching
    device property: Introduce firmware node type for platform data
    device property: Make it possible to use secondary firmware nodes
    PM / watchdog: iTCO: stop watchdog during system suspend
    cpufreq: hisilicon: add acpu driver
    ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler
    cpufreq: powernv: Report cpu frequency throttling
    intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs
    intel_idle: Update support for Silvermont Core in Baytrail SOC
    PM / devfreq: tegra: Register governor on module init
    ...

    Linus Torvalds
     
  • This is a feature to enable better debugging of user reported issues by
    allowing a bash script to acquire information about the internal hardware
    state. The data output to the kernel log is collected by the script and can
    then be sent to Intel. This is a critical debugging feature for helping us
    interpret and reproduce complex customer setups.

    Change-ID: Ie8b3ab09086d6870a709015f51ada05af10b41bb
    Signed-off-by: Jesse Brandeburg
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • Jeff Kirsher says:

    ====================
    Intel Wired LAN Driver Updates 2015-04-14

    This series contains updates to fm10k only.

    Fixed transmit statistics which was actually using values from the
    receive ring, instead of the transmit ring. Fixed up spelling mistakes
    in code comments and resolved unused argument warnings. Added support
    for netconsole. Fixed up statistic reporting so that we are only
    reporting from actual queues as well as display PF only stats for
    just the PF and not the VF. Also fixed an issue that when returning
    virtualization queues from the VF back to the PF, we were retaining
    the VF rate limiter.

    Fixed up the driver to use a separate workqueue, which helps reduce
    and stabilize latency between scheduling the work in our interrupt and
    actually performing the work.

    Fixed a bug where the VF tried to set a multicast address before
    requesting the required xcast mode.

    Fix VF multicast update since VFs were being improperly added to the
    switch's mutlicast group. The error stems from the fact that incorrect
    arguments were passed to the update_mc_addr().

    Thanks to Alex Duyck for the extensive review.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull input subsystem updates from Dmitry Torokhov:
    "You will get the following new drivers:

    - Qualcomm PM8941 power key drver
    - ChipOne icn8318 touchscreen controller driver
    - Broadcom iProc touchscreen and keypad drivers
    - Semtech SX8654 I2C touchscreen controller driver

    ALPS driver now supports newer SS4 devices; Elantech got a fix that
    should make it work on some ASUS laptops; and a slew of other
    enhancements and random fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits)
    Input: alps - non interleaved V2 dualpoint has separate stick button bits
    Input: alps - fix touchpad buttons getting stuck when used with trackpoint
    Input: atkbd - document "no new force-release quirks" policy
    Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static
    Input: ALPS - V7 devices can report 5-finger taps
    Input: ALPS - add support for SS4 touchpad devices
    Input: ALPS - refactor alps_set_abs_params_mt()
    Input: elantech - fix absolute mode setting on some ASUS laptops
    Input: atmel_mxt_ts - split out touchpad initialisation logic
    Input: atmel_mxt_ts - implement support for T100 touch object
    Input: cros_ec_keyb - fix clearing keyboard state on wakeup
    Input: gscps2 - drop pci_ids dependency
    Input: synaptics - allocate 3 slots to keep stability in image sensors
    Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots""
    Input: MT - make slot assignment work for overcovered solutions
    mfd: tc3589x: enforce device-tree only mode
    Input: tc3589x - localize platform data
    Input: tsc2007 - Convert msecs to jiffies only once
    Input: edt-ft5x06 - remove EV_SYN event report
    Input: edt-ft5x06 - allow to setting the maximum axes value through the DT
    ...

    Linus Torvalds
     
  • This is to allow quick check for FCoE capability is enabled or not
    in device function before any SW overrides.

    Change-ID: I5f78ba798d566f143161273156916c6f4074496e
    Signed-off-by: Vasu Dev
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Vasu Dev
     
  • Pull i2c updates from Wolfram Sang:
    "Most notable:

    - introducing the i2c_quirk infrastructure. Now, flaws of I2C
    controllers can be described and the core will check if the flaws
    collide with the messages to be sent

    - wait_for_completion return type cleanup series

    - new drivers for Digicolor, Netlogic XLP, Ingenic JZ4780

    - updates to the I2C slave framework which include API changes. Its
    only user was updated, too. Documentation was finally added

    - changed dynamic bus numbering for the DT case. This could change
    bus numbers for users. However, it fixes a collision where dynamic
    and static busses request the same id.

    - driver bugfixes, cleanups"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
    i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller
    of: Add vendor prefix 'netlogic'
    i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
    i2c: davinci: use bus recovery infrastructure
    i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery
    i2c: i2c-mux-gpio: remove error messages for probe deferrals
    i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780
    i2c: dln2: set the device tree node of the adapter
    i2c: davinci: fixup wait_for_completion_timeout handling
    i2c: mpc: Fix ISR return value
    i2c: slave-eeprom: add more info when to increase the pointer
    i2c: slave: add documentation for i2c-slave-eeprom
    Documentation: i2c: describe the new slave mode
    i2c: slave: rework the slave API
    i2c: add support for the Digicolor I2C controller
    i2c: busses with dynamic ids should start after fixed ids for DT
    of: base: add function to get highest id of an alias stem
    i2c: designware: Suppress error message if platform_get_irq() < 0
    i2c: mpc: assign the correct prescaler from SVR
    i2c: img-scb: fixup of wait_for_completion_timeout return handling
    ...

    Linus Torvalds
     
  • Pull VFIO updates from Alex Williamson:

    - VFIO platform bus driver support (Baptiste Reynal, Antonios Motakis,
    testing and review by Eric Auger)

    - Split VFIO irqfd support to separate module (Alex Williamson)

    - vfio-pci VGA arbiter client (Alex Williamson)

    - New vfio-pci.ids= module option (Alex Williamson)

    - vfio-pci D3 power state support for idle devices (Alex Williamson)

    * tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio: (30 commits)
    vfio-pci: Fix use after free
    vfio-pci: Move idle devices to D3hot power state
    vfio-pci: Remove warning if try-reset fails
    vfio-pci: Allow PCI IDs to be specified as module options
    vfio-pci: Add VGA arbiter client
    vfio-pci: Add module option to disable VGA region access
    vgaarb: Stub vga_set_legacy_decoding()
    vfio: Split virqfd into a separate module for vfio bus drivers
    vfio: virqfd_lock can be static
    vfio: put off the allocation of "minor" in vfio_create_group
    vfio/platform: implement IRQ masking/unmasking via an eventfd
    vfio: initialize the virqfd workqueue in VFIO generic code
    vfio: move eventfd support code for VFIO_PCI to a separate file
    vfio: pass an opaque pointer on virqfd initialization
    vfio: add local lock for virqfd instead of depending on VFIO PCI
    vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit
    vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export
    vfio/platform: support for level sensitive interrupts
    vfio/platform: trigger an interrupt via eventfd
    vfio/platform: initial interrupts support code
    ...

    Linus Torvalds
     
  • Pull pincontrol updates from Linus Walleij:
    "This is the bulk of pin control changes for the v4.1 development
    cycle. Nothing really exciting this time: we basically added a few
    new drivers and subdrivers and stabilized them in linux-next. Some
    cleanups too. With sunrisepoint Intel has a real fine fully featured
    pin control driver for contemporary hardware, and the AMD driver is
    also for large deployments. Most of the others are ARM devices.

    New drivers:
    - Intel Sunrisepoint
    - AMD KERNCZ GPIO
    - Broadcom Cygnus IOMUX

    New subdrivers:
    - Marvell MVEBU Armada 39x SoCs
    - Samsung Exynos 5433
    - nVidia Tegra 210
    - Mediatek MT8135
    - Mediatek MT8173
    - AMLogic Meson8b
    - Qualcomm PM8916

    On top of this cleanups and development history for the above drivers
    as issues were fixed after merging"

    * tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits)
    pinctrl: sirf: move sgpio lock into state container
    pinctrl: Add support for PM8916 GPIO's and MPP's
    pinctrl: bcm2835: Fix support for threaded level triggered IRQs
    sh-pfc: r8a7790: add EtherAVB pin groups
    pinctrl: Document "function" + "pins" pinmux binding
    pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support
    pinctrl: fsl: imx: Check for 0 config register
    pinctrl: Add support for Meson8b
    documentation: Extend pinctrl docs for Meson8b
    pinctrl: Cleanup Meson8 driver
    Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion.
    pinctrl: at91: convert __raw to endian agnostic IO
    pinctrl: constify of_device_id array
    pinctrl: pinconf-generic: add dt node names to error messages
    pinctrl: pinconf-generic: scan also referenced phandle node
    pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver
    pinctrl: st: Display pin's function when printing pinctrl debug information
    pinctrl: st: Show correct pin direction also in GPIO mode
    pinctrl: st: Supply a GPIO get_direction() call-back
    pinctrl: st: Move st_get_pio_control() further up the source file
    ...

    Linus Torvalds
     
  • With a HW issue that was recently discovered, after a VFLR HW might be
    indicating to us a reset completion little too early. So wait another 10
    msec for cache to be cleaned up.

    Change-ID: I6a24dcf5dd7ffcd6500246e717411ef58532d1e9
    Signed-off-by: Anjali Singhai Jain
    Tested-by: Jim Young
    Signed-off-by: Jeff Kirsher

    Anjali Singhai Jain