13 Dec, 2016

20 commits

  • Could be useful for debugging memory consumption issues,
    and perhaps power-save as well.

    Signed-off-by: Ben Greear
    Signed-off-by: Johannes Berg

    Ben Greear
     
  • Previously, kernel sends NEW_PEER_CANDIDATE event to user land even if
    the found peer does not have any room to accept other peer. This causes
    continuous connection trials.

    Signed-off-by: Masashi Honma
    Signed-off-by: Johannes Berg

    Masashi Honma
     
  • Add the ability for an AP (and associated VLANs) to perform
    multicast-to-unicast conversion for ARP, IPv4 and IPv6 frames
    (possibly within 802.1Q). If enabled, such frames are to be sent
    to each station separately, with the DA replaced by their own
    MAC address rather than the group address.

    Note that this may break certain expectations of the receiver,
    such as the ability to drop unicast IP packets received within
    multicast L2 frames, or the ability to not send ICMP destination
    unreachable messages for packets received in L2 multicast (which
    is required, but the receiver can't tell the difference if this
    new option is enabled.)

    This also doesn't implement the 802.11 DMS (directed multicast
    service).

    Signed-off-by: Michael Braun
    [use true/false, rename label to the correct "multicast",
    use __be16 for ethertype and network order for constants]
    Signed-off-by: Johannes Berg

    Michael Braun
     
  • Commit 4a733ef1bea7 (mac80211: remove PM-QoS listener) removed all use
    of 'beaconint_us' from ieee80211_recalc_ps() but left the variable
    intact. Compiling with W=1 gives the following warning, fix it.
    net/mac80211/mlme.c: In function ‘ieee80211_recalc_ps’:
    net/mac80211/mlme.c:1481:7: warning: variable ‘beaconint_us’ set but not used [-Wunused-but-set-variable]

    iee80211_tu_to_usec has no side-effects and is safe to remove.

    Fixes: 4a733ef1bea7 ("mac80211: remove PM-QoS listener")
    Cc: Johannes Berg
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit b1bce14a7954 (mac80211: update opmode when adding new station)
    refactored ieee80211_vht_handle_opmode into __ieee80211_vht_handle_opmode
    and ieee80211_vht_handle_opmode leaving a set but unused variable
    (sband) in the former. Compiling with W=1 gives the following warning,
    fix it.

    net/mac80211/vht.c: In function ‘__ieee80211_vht_handle_opmode’:
    net/mac80211/vht.c:424:35: warning: variable ‘sband’ set but not used [-Wunused-but-set-variable]

    Remove 'struct ieee80211_local* local' as well, it was only used to
    set sband.

    This is a harmless warning, and is only being fixed to reduce the
    noise with W=1 in the kernel.

    Fixes: b1bce14a7954 ("mac80211: update opmode when adding new station")
    Cc: Marek Kwaczynski
    Cc: Johannes Berg
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit 633e27132625 (mac80211: split sched scan IEs) introduced the
    len variable to keep track of the return value of
    ieee80211_build_preq_ies() but did not use it. Compiling with W=1
    gives the following warning, fix it.

    net/mac80211/scan.c: In function ‘__ieee80211_request_sched_scan_start’:
    net/mac80211/scan.c:1123:9: warning: variable ‘len’ set but not used [-Wunused-but-set-variable]

    This is a harmless warning and is only being fixed to reduce the noise
    with W=1 in the kernel.

    Fixes: 633e27132625 ("mac80211: split sched scan IEs")
    Cc: David Spinadel
    Cc: Alexander Bondar
    Cc: Johannes Berg
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit 5bcae31d9 (mac80211: implement multi-vif in-place reservations)
    introduced ieee80211_vif_use_reserved_switch() with a counter variable
    'i' that is set but not used. Compiling with W=1 gives the following
    warning, fix it.
    net/mac80211/chan.c: In function ‘ieee80211_vif_use_reserved_switch’:
    net/mac80211/chan.c:1273:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]

    This is a harmless warning, and is only being fixed to reduce the
    noise obtained with W=1 in the kernel.

    Fixes: 5bcae31d9 ("mac80211: implement multi-vif in-place reservations")
    Cc: Michal Kazior
    Cc: Johannes Berg
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit 3b17fbf87d5d introduced sta_get_expected_throughput()
    leaving variable 'struct rate_control_ref* ref' set but unused.
    Compiling with W=1 gives the following warning, fix it.

    net/mac80211/sta_info.c: In function ‘sta_set_sinfo’:
    net/mac80211/sta_info.c:2052:27: warning: variable ‘ref’ set but not used [-Wunused-but-set-variable]

    Fixes: 3b17fbf87d5d ("mac80211: mesh: Add support for HW RC implementation")
    Cc: Johannes Berg
    Cc: Maxim Altshul
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit f027c2aca0cf introduced 'rates_idx' in
    ieee80211_tx_status_noskb but did not use it. Compiling with W=1
    gives the following warning, fix it.

    mac80211/status.c: In function ‘ieee80211_tx_status_noskb’:
    mac80211/status.c:636:6: warning: variable ‘rates_idx’ set but not used [-Wunused-but-set-variable]

    This is a harmless warning, and is only being fixed to reduce the
    noise generated with W=1.

    Fixes: f027c2aca0cf ("mac80211: add ieee80211_tx_status_noskb")
    Cc: Johannes Berg
    Cc: Felix Fietkau
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • Commit 554891e63a29 introduced 'struct ieee80211_rx_status' in
    ieee80211_rx_h_defragment but did not use it. Compiling with W=1
    gives the following warning, fix it.

    net/mac80211/rx.c: In function ‘ieee80211_rx_h_defragment’:
    net/mac80211/rx.c:1911:30: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]

    Fixes: 554891e63a29 ("mac80211: move packet flags into packet")
    Cc: Johannes Berg
    Cc: John W. Linville
    Signed-off-by: Kirtika Ruchandani
    Signed-off-by: Johannes Berg

    Kirtika Ruchandani
     
  • There is no need to prevent toggling multicast_to_unicast while
    interface is already up. This change simplifies reconfiguration
    from hostapd.

    Signed-off-by: Michael Braun
    Signed-off-by: Johannes Berg

    Michael Braun
     
  • The presence of the NL80211_ATTR_SCHED_SCAN_INTERVAL attribute was
    checked in nl80211_parse_sched_scan() and
    nl80211_parse_sched_scan_plans() which might be a bit redundant
    so removing one.

    Signed-off-by: Arend van Spriel
    Signed-off-by: Johannes Berg

    Arend Van Spriel
     
  • The comment on the name indirection suggested an issue but turned out
    to be untrue. Digging in older kernel version showed issue with ipw2x00
    but that is no longer true so get rid on the name indirection.

    Signed-off-by: Arend van Spriel
    Signed-off-by: Johannes Berg

    Arend Van Spriel
     
  • Simplify the two conditions gating the schedule_work() into
    a single one and get rid of the additional exit point from
    the function in doing so.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Pull CRIS updates from Jesper Nilsson:
    "Three patches for minor issues"

    * tag 'cris-for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
    cris: No need to append -O2 and $(LINUXINCLUDE)
    tty: serial: make crisv10 explicitly non-modular
    cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected

    Linus Torvalds
     
  • Pull Openrisc updates from Stafford Horne:

    - changes to MAINTAINER for openrisc

    - probably biggest actual change is the move to memblock from bootmem

    - ... plus several bug and build fixes

    * tag 'openrisc-for-linus' of git://github.com/openrisc/linux:
    openrisc: prevent VGA console, fix builds
    openrisc: include l.swa in check for write data pagefault
    openrisc: Updates after openrisc.net has been lost
    openrisc: Consolidate setup to use memblock instead of bootmem
    openrisc: remove the redundant of_platform_populate
    openrisc: add NR_CPUS Kconfig default value
    openrisc: Support both old (or32) and new (or1k) toolchain
    openrisc: Add thread-local storage (TLS) support
    openrisc: restore all regs on rt_sigreturn
    openrisc: fix PTRS_PER_PGD define

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:
    "Use seq_puts() for fixed strings"

    * tag 'm68k-for-v4.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/atari: Use seq_puts() in atari_get_hardware_list()
    m68k/amiga: Use seq_puts() in amiga_get_hardware_list()

    Linus Torvalds
     
  • Pull AVR32 updates from Hans-Christian Noren Egtvedt.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
    avr32: wire up pkey syscalls
    AVR32-pio: Replace two seq_printf() calls by seq_puts() in pio_bank_show()
    AVR32-pio: Use seq_putc() in pio_bank_show()
    AVR32-clock: Combine nine seq_printf() calls into one call in clk_show()
    AVR32-clock: Use seq_putc() in two functions

    Linus Torvalds
     
  • Pull m68knommu updates from Greg Ungerer:
    "There are two sets of changes in this pull.

    The largest is the addition of the ColdFire platform side i2c support
    (the IO addressing, setup and clock definitions). The i2c hardware
    module itself is driven by the kernels existing iMX i2c driver.

    The other change is the addition of support for the Amcore board"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68knommu: AMCORE board, add iMX i2c support
    m68k: add Sysam AMCORE open board support
    m68knommu: platform support for i2c devices on ColdFire SoC

    Linus Torvalds
     
  • Pull sparc updates from David Miller:
    "Just a bunch of small cleanups and fixes here, and support for user
    probes from Allen Pais"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc: fix a building error reported by kbuild
    sparc64: fix typo in pgd_clear()
    sparc64: restore irq in error paths in iommu
    sparc: leon: Fix a retry loop in leon_init_timers()
    sparc64: make string buffers large enough
    sparc64: move dereference after check for NULL
    sparc: kernel: use builtin_platform_driver
    sparc64:Support User Probes for sparc

    Linus Torvalds
     

12 Dec, 2016

20 commits

  • Pull networking updates from David Miller:

    1) Platform regulatory domain support for ath10k, from Bartosz
    Markowski.

    2) Centralize min/max MTU checking, thus removing tons of duplicated
    code all of the the various drivers. From Jarod Wilson.

    3) Support ingress actions in act_mirred, from Shmulik Ladkani.

    4) Improve device adjacency tracking, from David Ahern.

    5) Add support for LED triggers on PHY link state changes, from Zach
    Brown.

    6) Improve UDP socket memory accounting, from Paolo Abeni.

    7) Set SK_MEM_QUANTUM to a fixed size of 4096, instead of PAGE_SIZE.
    From Eric Dumazet.

    8) Collapse TCP SKBs at retransmit time even if the right side SKB has
    frags. Also from Eric Dumazet.

    9) Add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE cmsgs, from Willem de
    Bruijn.

    10) Support routing by UID, from Lorenzo Colitti.

    11) Handle L3 domain binding (ie. VRF) for RAW sockets, from David
    Ahern.

    12) tcp_get_info() can run lockless, from Eric Dumazet.

    13) 4-tuple UDP hashing in SFC driver, from Edward Cree.

    14) Avoid reorders in GRO code, from Eric Dumazet.

    15) IPV6 Segment Routing support, from David Lebrun.

    16) Support MPLS push and pop for L3 packets in openvswitch, from Jiri
    Benc.

    17) Add LRU datastructure support for BPF, Martin KaFai Lau.

    18) VF support in liquidio driver, from Raghu Vatsavayi.

    19) Multiqueue support in alx driver, from Tobias Regnery.

    20) Networking cgroup BPF support, from Daniel Mack.

    21) TCP chronograph measurements, from Francis Yan.

    22) XDP support for qed driver, from Yuval Mintz.

    23) BPF based lwtunnels, from Thomas Graf.

    24) Consistent FIB dumping to offloading drivers, from Ido Schimmel.

    25) Many optimizations for UDP under high load, from Eric Dumazet.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1522 commits)
    netfilter: nft_counter: rework atomic dump and reset
    e1000: use disable_hardirq() for e1000_netpoll()
    i40e: don't truncate match_method assignment
    net: ethernet: ti: netcp: add support of cpts
    net: phy: phy drivers should not set SUPPORTED_[Asym_]Pause
    net: l2tp: ppp: change PPPOL2TP_MSG_* => L2TP_MSG_*
    net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_*
    net: l2tp: export debug flags to UAPI
    net: ethernet: stmmac: remove private tx queue lock
    net: ethernet: sxgbe: remove private tx queue lock
    net: bridge: shorten ageing time on topology change
    net: bridge: add helper to set topology change
    net: bridge: add helper to offload ageing time
    net: nicvf: use new api ethtool_{get|set}_link_ksettings
    net: ethernet: ti: cpsw: sync rates for channels in dual emac mode
    net: ethernet: ti: cpsw: re-split res only when speed is changed
    net: ethernet: ti: cpsw: combine budget and weight split and check
    net: ethernet: ti: cpsw: don't start queue twice
    net: ethernet: ti: cpsw: use same macros to get active slave
    net: mvneta: select GENERIC_ALLOCATOR
    ...

    Linus Torvalds
     
  • OpenRISC does not support VGA console, so prevent that kconfig symbol
    from being enabled for OpenRISC, thus fixing these build errors:

    drivers/built-in.o: In function `vgacon_save_screen':
    vgacon.c:(.text+0x20e0): undefined reference to `screen_info'
    vgacon.c:(.text+0x20e8): undefined reference to `screen_info'
    drivers/built-in.o: In function `vgacon_init':
    vgacon.c:(.text+0x284c): undefined reference to `screen_info'
    vgacon.c:(.text+0x2850): undefined reference to `screen_info'
    drivers/built-in.o: In function `vgacon_startup':
    vgacon.c:(.text+0x28d8): undefined reference to `screen_info'
    drivers/built-in.o:vgacon.c:(.text+0x28f0): more undefined references to `screen_info' follow

    Signed-off-by: Randy Dunlap
    Reported-by: kbuild test robot
    Cc: Chen Gang
    Cc: Jonas Bonn
    Signed-off-by: Stafford Horne

    Randy Dunlap
     
  • During page fault handling we check the last instruction to understand
    if the fault was for a read or for a write. By default we fall back to
    read. New instructions were added to the openrisc 1.1 spec for an
    atomic load/store pair (l.lwa/l.swa).

    This patch adds the opcode for l.swa (0x33) allowing it to be treated as
    a write operation.

    Signed-off-by: Stefan Kristiansson
    [shorne@gmail.com: expanded a bit on the comment]
    Signed-off-by: Stafford Horne

    Stefan Kristiansson
     
  • The openrisc.net domain expired and was taken over by squatters.
    These updates point documentation to the new domain, mailing lists
    and git repos.

    Also, Jonas is not the main maintainer anylonger, he reviews changes
    but does not maintain a repo or sent pull requests. Updating this to
    add Stafford and Stefan who are the active maintainers.

    Acked-by: Olof Kindgren
    Signed-off-by: Stafford Horne

    Stafford Horne
     
  • Clearing out one todo item. Use the memblock boot time memory
    which is the current standard.

    Tested-by: Guenter Roeck
    Acked-by: Jonas
    Signed-off-by: Stafford Horne

    Stafford Horne
     
  • The of_platform_populate call in the openrisc arch code is now redundant
    as the DT core provides a default call. Openrisc has a NULL match table
    which means only top level nodes with compatible strings will have
    devices creates. The default version will also descend nodes in the
    match table such as "simple-bus" which should be fine as openrisc
    doesn't have any of these (though it is preferred that memory-mapped
    peripherals be grouped under a bus node(s)).

    Signed-off-by: Rob Herring
    Cc: Jonas Bonn
    Tested-by: Guenter Roeck
    Signed-off-by: Stafford Horne

    Rob Herring
     
  • The build system now expects that NR_CPUS is defined.

    Follow 4cbbbb4 ("microblaze: Fix missing NR_CPUS in menuconfig")

    Signed-off-by: Stafford Horne

    Stafford Horne
     
  • The output file format for or1k has changed from "elf32-or32"
    to "elf32-or1k". Select the correct output format automatically
    to be able to compile the kernel with both toolchain variants.

    Signed-off-by: Guenter Roeck
    Tested-by: Guenter Roeck
    Signed-off-by: Stafford Horne

    Guenter Roeck
     
  • Historically OpenRISC GCC has reserved r10 which we now use to hold
    the thread pointer for thread-local storage (TLS).

    Signed-off-by: Christian Svensson
    Signed-off-by: Stefan Kristiansson
    Tested-by: Guenter Roeck
    Signed-off-by: Stafford Horne

    Christian Svensson
     
  • Fix signal handling for when signals are handled as the result of timers
    or exceptions, previous code assumed syscalls. This was noticeable with X
    crashing where it uses SIGALRM.

    This patch restores all regs before returning to userspace via
    _resume_userspace instead of via syscall return path.

    The rt_sigreturn syscall is more like a context switch than a function
    call; it entails a return from one context (the signal handler) to another
    (the process in question). For a context switch like this there are
    effectively no call-saved regs that remain constant across the transition.

    Reported-by: Sebastian Macke
    Signed-off-by: Jonas Bonn
    Tested-by: Guenter Roeck
    [shorne@gmail.com: Updated comment better reflect change and issue]
    Signed-off-by: Stafford Horne

    Jonas Bonn
     
  • On OpenRISC, with its 8k pages, PAGE_SHIFT is defined to be 13.
    That makes the expression (1UL << (PAGE_SHIFT-2)) evaluate
    to 2048.
    The correct value for PTRS_PER_PGD should be 256.

    Correcting the PTRS_PER_PGD define unveiled a bug in map_ram(),
    where PTRS_PER_PGD was used when the intent was to iterate
    over a set of page table entries.
    This patch corrects that issue as well.

    Signed-off-by: Stefan Kristiansson
    Acked-by: Jonas Bonn
    Tested-by: Guenter Roeck
    Signed-off-by: Stafford Horne

    Stefan Kristiansson
     
  • This patch wires up the new pkey_mprotect, pkey_alloc and pkey_free syscalls on
    AVR32.

    Hans-Christian Noren Egtvedt
     
  • Strings which did not contain data format specifications should be put
    into a sequence. Thus use the corresponding function "seq_puts".

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring

    Markus Elfring
     
  • A single character (line break) should be put into a sequence.
    Thus use the corresponding function "seq_putc".

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring

    Markus Elfring
     
  • Some data were printed into a sequence by nine separate function calls.
    Print the same data by a single function call instead.

    Signed-off-by: Markus Elfring

    Markus Elfring
     
  • A single character (line break) should be put into two sequences.
    Thus use the corresponding function "seq_putc".

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring

    Markus Elfring
     
  • >> arch/sparc/include/asm/topology_64.h:44:44:
    error: implicit declaration of function 'cpu_data'
    [-Werror=implicit-function-declaration]

    #define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
    ^
    Let's include cpudata.h in topology_64.h.

    Cc: Sam Ravnborg
    Cc: David S. Miller
    Cc: sparclinux@vger.kernel.org
    Suggested-by: Sam Ravnborg
    Signed-off-by: Gonglei
    Acked-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Gonglei \(Arei\)
     
  • It really has to be pgdp, not pgd.

    It just happend to work since all callers have 'pgd' as an argument.

    Signed-off-by: Kirill A. Shutemov
    Signed-off-by: David S. Miller

    Kirill A. Shutemov
     
  • There are some error paths where we should restore IRQs but we don't.

    Fixes: bb620c3d3925 ("sparc: Make sparc64 use scalable lib/iommu-common.c functions")
    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • The original code causes a static checker warning because it has a
    continue inside a do { } while (0); loop. In that context, a continue
    and a break are equivalent. The intent was to go back to the start of
    the loop so the continue was a bug.

    I've added a retry label at the start and changed the continue to a goto
    retry. Then I removed the do { } while (0) loop and pulled the code in
    one indent level.

    Fixes: 2791c1a43900 ("SPARC/LEON: added support for selecting Timer Core and Timer within core")
    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter