1. 28 4月, 2019 7 次提交
  2. 27 4月, 2019 16 次提交
  3. 26 4月, 2019 17 次提交
    • H
      net: phy: improve genphy_soft_reset · 8c90b795
      Heiner Kallweit 提交于
      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: NHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8c90b795
    • G
      usbnet: ipheth: Simplify device detection · f7abc061
      Guenter Roeck 提交于
      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: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7abc061
    • D
      ipv6: Initialize fib6_result in bpf_ipv6_fib_lookup · e55449e7
      David Ahern 提交于
      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: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e55449e7
    • G
      cnic: Refactor code and mark expected switch fall-through · 950347f5
      Gustavo A. R. Silva 提交于
      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: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      950347f5
    • G
      cxgb4/cxgb4vf_main: Mark expected switch fall-through · 05dd2645
      Gustavo A. R. Silva 提交于
      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: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      05dd2645
    • G
      wimax/i2400m/control: Mark expected switch fall-through · 9b8221d4
      Gustavo A. R. Silva 提交于
      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: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b8221d4
    • G
      amd-xgbe: Mark expected switch fall-throughs · a36de5b7
      Gustavo A. R. Silva 提交于
      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: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a36de5b7
    • G
      net: socket: Fix missing break in switch statement · 60747828
      Gustavo A. R. Silva 提交于
      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: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      60747828
    • D
      Merge branch 's390-qeth-cleanups' · 0ff85d6d
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      0ff85d6d
    • J
      s390/qeth: trust non-IP cast type in qeth_l3_fill_header() · 14a1b047
      Julian Wiedmann 提交于
      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: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14a1b047
    • J
      s390/qeth: extract helper to determine L2 cast type · 58aa2491
      Julian Wiedmann 提交于
      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: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58aa2491
    • J
      s390/qeth: cache max number of available buffer elements · 4e26c5fe
      Julian Wiedmann 提交于
      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: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e26c5fe
    • J
      s390/qeth: don't clear Output buffers on every queue init · 7b579ce5
      Julian Wiedmann 提交于
      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: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7b579ce5
    • J
      s390/qeth: use IS_* helpers for checking device type · 379ac99e
      Julian Wiedmann 提交于
      We have helper macros for all possible device types, replace all
      remaining open-coded accesses to the type fields.
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      379ac99e
    • J
      s390/qeth: clean up stale buffer state documentation · 5c0bfba7
      Julian Wiedmann 提交于
      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: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5c0bfba7
    • J
      s390/qeth: remove RX seqno in skb->cb · ddb0ac51
      Julian Wiedmann 提交于
      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: NKarsten Graul <kgraul@linux.ibm.com>
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ddb0ac51
    • A
      s390: qeth: address type mismatch warning · 46b83629
      Arnd Bergmann 提交于
      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: NNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      46b83629