Skip to content
  1. Apr 28, 2019
  2. Apr 27, 2019
  3. Apr 26, 2019
    • Heiner Kallweit's avatar
      net: phy: improve genphy_soft_reset · 8c90b795
      Heiner Kallweit authored
      
      
      PHY's behave differently when being reset. Some reset registers to
      defaults, some don't. Some trigger an autoneg restart, some don't.
      
      So let's also set the autoneg restart bit when resetting. Then PHY
      behavior should be more consistent. Clearing BMCR_ISOLATE serves the
      same purpose and is borrowed from genphy_restart_aneg.
      
      BMCR holds the speed / duplex settings in fixed mode. Therefore
      we may have an issue if a soft reset resets BMCR to its default.
      So better call genphy_setup_forced() afterwards in fixed mode.
      We've seen no related complaint in the last >10 yrs, so let's
      treat it as an improvement.
      
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c90b795
    • Guenter Roeck's avatar
      usbnet: ipheth: Simplify device detection · f7abc061
      Guenter Roeck authored
      
      
      All Apple products use the same protocol for tethering over USB.
      To simplify the code and make it future proof, use
      USB_VENDOR_AND_INTERFACE_INFO() instead of
      USB_DEVICE_AND_INTERFACE_INFO() to automatically detect and support
      all existing and future Apple products using the same interface.
      
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7abc061
    • David Ahern's avatar
      ipv6: Initialize fib6_result in bpf_ipv6_fib_lookup · e55449e7
      David Ahern authored
      fib6_result is not initialized in bpf_ipv6_fib_lookup and potentially
      passses garbage to the fib lookup which triggers a KASAN warning:
      
      [  262.055450] ==================================================================
      [  262.057640] BUG: KASAN: user-memory-access in fib6_rule_suppress+0x4b/0xce
      [  262.059488] Read of size 8 at addr 00000a20000000b0 by task swapper/1/0
      [  262.061238]
      [  262.061673] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.1.0-rc5+ #56
      [  262.063493] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.1-1 04/01/2014
      [  262.065593] Call Trace:
      [  262.066277]  <IRQ>
      [  262.066848]  dump_stack+0x7e/0xbb
      [  262.067764]  kasan_report+0x18b/0x1b5
      [  262.069921]  __asan_load8+0x7f/0x81
      [  262.070879]  fib6_rule_suppress+0x4b/0xce
      [  262.071980]  fib_rules_lookup+0x275/0x2cd
      [  262.073090]  fib6_lookup+0x119/0x218
      [  262.076457]  bpf_ipv6_fib_lookup+0x39d/0x664
      ...
      
      Initialize fib6_result to 0.
      
      Fixes: b1d40991
      
       ("ipv6: Rename fib6_multipath_select and pass fib6_result")
      Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e55449e7
    • Gustavo A. R. Silva's avatar
      cnic: Refactor code and mark expected switch fall-through · 950347f5
      Gustavo A. R. Silva authored
      
      
      In preparation to enabling -Wimplicit-fallthrough, refactor code a
      bit and mark switch cases where we are expecting to fall through.
      
      This patch fixes the following warning:
      
      drivers/net/ethernet/broadcom/cnic.c: In function ‘cnic_cm_process_kcqe’:
      drivers/net/ethernet/broadcom/cnic.c:4044:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
          opcode = L4_KCQE_OPCODE_VALUE_CLOSE_COMP;
      drivers/net/ethernet/broadcom/cnic.c:4050:2: note: here
        case L4_KCQE_OPCODE_VALUE_RESET_RECEIVED:
        ^~~~
      
      Warning level 3 was used: -Wimplicit-fallthrough=3
      
      Notice that, in this particular case, the code comment is modified
      in accordance with what GCC is expecting to find.
      
      This patch is part of the ongoing efforts to enable
      -Wimplicit-fallthrough.
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      950347f5
    • Gustavo A. R. Silva's avatar
      cxgb4/cxgb4vf_main: Mark expected switch fall-through · 05dd2645
      Gustavo A. R. Silva authored
      
      
      In preparation to enabling -Wimplicit-fallthrough, mark switch
      cases where we are expecting to fall through.
      
      This patch fixes the following warning:
      
      drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c: In function ‘fwevtq_handler’:
      drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c:520:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
         cpl = (void *)p;
         ~~~~^~~~~~~~~~~
      drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c:524:2: note: here
        case CPL_SGE_EGR_UPDATE: {
        ^~~~
      
      Warning level 3 was used: -Wimplicit-fallthrough=3
      
      Notice that, in this particular case, the code comment is modified
      in accordance with what GCC is expecting to find.
      
      This patch is part of the ongoing efforts to enable
      -Wimplicit-fallthrough.
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05dd2645
    • Gustavo A. R. Silva's avatar
      wimax/i2400m/control: Mark expected switch fall-through · 9b8221d4
      Gustavo A. R. Silva authored
      
      
      In preparation to enabling -Wimplicit-fallthrough, mark switch
      cases where we are expecting to fall through.
      
      This patch fixes the following warning:
      
      In file included from drivers/net/wimax/i2400m/debug-levels.h:30,
                       from drivers/net/wimax/i2400m/control.c:86:
      drivers/net/wimax/i2400m/control.c: In function ‘i2400m_report_tlv_system_state’:
      ./include/linux/wimax/debug.h:200:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
       do {         \
          ^
      ./include/linux/wimax/debug.h:404:36: note: in expansion of macro ‘_d_printf’
       #define d_printf(l, _dev, f, a...) _d_printf(l, "", _dev, f, ## a)
                                          ^~~~~~~~~
      drivers/net/wimax/i2400m/control.c:354:3: note: in expansion of macro ‘d_printf’
         d_printf(1, dev, "entering BS-negotiated idle mode\n");
         ^~~~~~~~
      drivers/net/wimax/i2400m/control.c:355:2: note: here
        case I2400M_SS_DISCONNECTING:
        ^~~~
      
      Warning level 3 was used: -Wimplicit-fallthrough=3
      
      This patch is part of the ongoing efforts to enable
      -Wimplicit-fallthrough.
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b8221d4
    • Gustavo A. R. Silva's avatar
      amd-xgbe: Mark expected switch fall-throughs · a36de5b7
      Gustavo A. R. Silva authored
      
      
      In preparation to enabling -Wimplicit-fallthrough, mark switch
      cases where we are expecting to fall through.
      
      This patch fixes the following warnings:
      
      In file included from drivers/net/ethernet/amd/xgbe/xgbe-drv.c:129:
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c: In function ‘xgbe_set_hwtstamp_settings’:
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1392:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
        (_var) |= (((_val) & ((0x1 << (_width)) - 1)) << (_index)); \
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1419:2: note: in expansion of macro ‘SET_BITS’
        SET_BITS((_var),      \
        ^~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1614:3: note: in expansion of macro ‘XGMAC_SET_BITS’
         XGMAC_SET_BITS(mac_tscr, MAC_TSCR, TSVER2ENA, 1);
         ^~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1616:2: note: here
        case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
        ^~~~
      In file included from drivers/net/ethernet/amd/xgbe/xgbe-drv.c:129:
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1392:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
        (_var) |= (((_val) & ((0x1 << (_width)) - 1)) << (_index)); \
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1419:2: note: in expansion of macro ‘SET_BITS’
        SET_BITS((_var),      \
        ^~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1625:3: note: in expansion of macro ‘XGMAC_SET_BITS’
         XGMAC_SET_BITS(mac_tscr, MAC_TSCR, TSVER2ENA, 1);
         ^~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1627:2: note: here
        case HWTSTAMP_FILTER_PTP_V1_L4_SYNC:
        ^~~~
      In file included from drivers/net/ethernet/amd/xgbe/xgbe-drv.c:129:
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1392:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
        (_var) |= (((_val) & ((0x1 << (_width)) - 1)) << (_index)); \
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-common.h:1419:2: note: in expansion of macro ‘SET_BITS’
        SET_BITS((_var),      \
        ^~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1636:3: note: in expansion of macro ‘XGMAC_SET_BITS’
         XGMAC_SET_BITS(mac_tscr, MAC_TSCR, TSVER2ENA, 1);
         ^~~~~~~~~~~~~~
      drivers/net/ethernet/amd/xgbe/xgbe-drv.c:1638:2: note: here
        case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ:
        ^~~~
      
      Warning level 3 was used: -Wimplicit-fallthrough=3
      
      Notice that, in this particular case, the code comments are modified
      in accordance with what GCC is expecting to find.
      
      This patch is part of the ongoing efforts to enable
      -Wimplicit-fallthrough.
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a36de5b7
    • Gustavo A. R. Silva's avatar
      net: socket: Fix missing break in switch statement · 60747828
      Gustavo A. R. Silva authored
      Add missing break statement in order to prevent the code from falling
      through to cases SIOCGSTAMP_NEW and SIOCGSTAMPNS_NEW.
      
      This bug was found thanks to the ongoing efforts to enable
      -Wimplicit-fallthrough.
      
      Fixes: 0768e170
      
       ("net: socket: implement 64-bit timestamps")
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      60747828
    • David S. Miller's avatar
      Merge branch 's390-qeth-cleanups' · 0ff85d6d
      David S. Miller authored
      
      
      Julian Wiedmann says:
      
      ====================
      s390/qeth: updates 2019-04-25
      
      please apply one more patch series for qeth to net-next. Nothing special,
      just a bunch of cleanups.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0ff85d6d
    • Julian Wiedmann's avatar
      s390/qeth: trust non-IP cast type in qeth_l3_fill_header() · 14a1b047
      Julian Wiedmann authored
      
      
      When building the L3 HW header for non-IP packets, trust the cast type
      that was passed as parameter. qeth_l3_get_cast_type() has most likely
      also used h_dest to determine the cast type, so we get the same
      result, and can remove that duplicated code.
      In the unlikely case that we would get a _different_ cast type, then
      that's based off a route lookup and should be considered authoritative.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14a1b047
    • Julian Wiedmann's avatar
      s390/qeth: extract helper to determine L2 cast type · 58aa2491
      Julian Wiedmann authored
      
      
      This de-duplicates the L2 and L3 cast-type code, and makes the L2 code
      a bit more robust by removing the fragile assumption that skb->data
      always points to the Ethernet Header. This would break in code paths
      where we pushed the HW header onto the skb.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58aa2491
    • Julian Wiedmann's avatar
      s390/qeth: cache max number of available buffer elements · 4e26c5fe
      Julian Wiedmann authored
      
      
      The QETH_MAX_BUFFER_ELEMENTS() macro effectively returns a constant
      value. To avoid some redundant pointer chasing and computations in the
      xmit hot path, cache this value in the queue struct.
      
      Take this as opportunity to shrink some of the queue struct's fields to
      their appropriate value range, slightly reducing its total size.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e26c5fe
    • Julian Wiedmann's avatar
      s390/qeth: don't clear Output buffers on every queue init · 7b579ce5
      Julian Wiedmann authored
      
      
      On the first initialization of a queue, its Output Buffers are in a
      clean state with no attached resources. On every subsequent
      initialization, qeth_l?_stop_card() has previously put them in a clean
      state via qeth_drain_output_queues(). So the call to
      qeth_clear_output_buffer() is redundant and can be removed.
      
      While at it, move the initialization of the queue's card pointer into
      the queue allocation. It never changes afterwards.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7b579ce5
    • Julian Wiedmann's avatar
      s390/qeth: use IS_* helpers for checking device type · 379ac99e
      Julian Wiedmann authored
      
      
      We have helper macros for all possible device types, replace all
      remaining open-coded accesses to the type fields.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      379ac99e
    • Julian Wiedmann's avatar
      s390/qeth: clean up stale buffer state documentation · 5c0bfba7
      Julian Wiedmann authored
      
      
      We don't keep track of Input Buffer states, so remove the comments that
      make it sound like the qeth_qdio_buffer_states enum applies to
      Input Buffers.
      
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5c0bfba7
    • Julian Wiedmann's avatar
      s390/qeth: remove RX seqno in skb->cb · ddb0ac51
      Julian Wiedmann authored
      
      
      It's unclear what exact purpose this seqno may have served in the past.
      But it's certainly no longer used anymore, as the following
      napi_gro_receive() will straight away clear this part of the cb again.
      
      Suggested-by: default avatarKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ddb0ac51
    • Arnd Bergmann's avatar
      s390: qeth: address type mismatch warning · 46b83629
      Arnd Bergmann authored
      
      
      clang produces a harmless warning for each use for the qeth_adp_supported
      macro:
      
      drivers/s390/net/qeth_l2_main.c:559:31: warning: implicit conversion from enumeration type 'enum qeth_ipa_setadp_cmd' to
            different enumeration type 'enum qeth_ipa_funcs' [-Wenum-conversion]
              if (qeth_adp_supported(card, IPA_SETADP_SET_PROMISC_MODE))
                  ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      drivers/s390/net/qeth_core.h:179:41: note: expanded from macro 'qeth_adp_supported'
              qeth_is_ipa_supported(&c->options.adp, f)
              ~~~~~~~~~~~~~~~~~~~~~                  ^
      
      Add a version of this macro that uses the correct types, and
      remove the unused qeth_adp_enabled() macro that has the same
      problem.
      
      Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46b83629
    • Rajkumar Manoharan's avatar
      mac80211: probe unexercised mesh links · 8828f81a
      Rajkumar Manoharan authored
      
      
      The requirement for mesh link metric refreshing, is that from one
      mesh point we be able to send some data frames to other mesh points
      which are not currently selected as a primary traffic path, but which
      are only 1 hop away. The absence of the primary path to the chosen node
      makes it necessary to apply some form of marking on a chosen packet
      stream so that the packets can be properly steered to the selected node
      for testing, and not by the regular mesh path lookup.
      
      Tested-by: default avatarPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@codeaurora.org>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8828f81a
    • Rajkumar Manoharan's avatar
      mac80211: add option for setting control flags · 06016772
      Rajkumar Manoharan authored
      
      
      Allows setting of control flags of skb cb - if needed -
      when calling ieee80211_subif_start_xmit().
      
      Tested-by: default avatarPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@codeaurora.org>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      06016772