Skip to content
  1. Nov 02, 2022
    • Heng Qi's avatar
      veth: Avoid drop packets when xdp_redirect performs · 2e0de636
      Heng Qi authored
      
      
      In the current processing logic, when xdp_redirect occurs, it transmits
      the xdp frame based on napi.
      
      If napi of the peer veth is not ready, the veth will drop the packets.
      This doesn't meet our expectations.
      
      In this context, we enable napi of the peer veth automatically when the
      veth loads the xdp. Then if the veth unloads the xdp, we need to
      correctly judge whether to disable napi of the peer veth, because the peer
      veth may have loaded xdp, or even the user has enabled GRO.
      
      Signed-off-by: default avatarHeng Qi <henqqi@linux.alibaba.com>
      Reviewed-by: default avatarXuan Zhuo <xuanzhuo@linux.alibaba.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e0de636
    • Dmitry Vyukov's avatar
      nfc: Add KCOV annotations · 7e8cdc97
      Dmitry Vyukov authored
      
      
      Add remote KCOV annotations for NFC processing that is done
      in background threads. This enables efficient coverage-guided
      fuzzing of the NFC subsystem.
      
      The intention is to add annotations to background threads that
      process skb's that were allocated in syscall context
      (thus have a KCOV handle associated with the current fuzz test).
      This includes nci_recv_frame() that is called by the virtual nci
      driver in the syscall context.
      
      Signed-off-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Cc: Bongsu Jeon <bongsu.jeon@samsung.com>
      Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e8cdc97
    • Shailend Chand's avatar
      gve: Reduce alloc and copy costs in the GQ rx path · 82fd151d
      Shailend Chand authored
      
      
      Previously, even if just one of the many fragments of a 9k packet
      required a copy, we'd copy the whole packet into a freshly-allocated
      9k-sized linear SKB, and this led to performance issues.
      
      By having a pool of pages to copy into, each fragment can be
      independently handled, leading to a reduced incidence of
      allocation and copy.
      
      Signed-off-by: default avatarShailend Chand <shailend@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82fd151d
    • Shane Parslow's avatar
      net: wwan: iosm: add rpc interface for xmm modems · d08b0f8f
      Shane Parslow authored
      
      
      Add a new iosm wwan port that connects to the modem rpc interface. This
      interface provides a configuration channel, and in the case of the 7360, is
      the only way to configure the modem (as it does not support mbim).
      
      The new interface is compatible with existing software, such as
      open_xdatachannel.py from the xmm7360-pci project [1].
      
      [1] https://github.com/xmm7360/xmm7360-pci
      
      Signed-off-by: default avatarShane Parslow <shaneparslow808@gmail.com>
      Reviewed-by: default avatarLoic Poulain <loic.poulain@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d08b0f8f
    • M Chetan Kumar's avatar
      net: wwan: t7xx: Add port for modem logging · 3349e4a4
      M Chetan Kumar authored
      
      
      The Modem Logging (MDL) port provides an interface to collect modem
      logs for debugging purposes. MDL is supported by the relay interface,
      and the mtk_t7xx port infrastructure. MDL allows user-space apps to
      control logging via mbim command and to collect logs via the relay
      interface, while port infrastructure facilitates communication between
      the driver and the modem.
      
      Signed-off-by: default avatarMoises Veleta <moises.veleta@linux.intel.com>
      Signed-off-by: default avatarM Chetan Kumar <m.chetan.kumar@linux.intel.com>
      Signed-off-by: default avatarDevegowda Chandrashekar <chandrashekar.devegowda@intel.com>
      Acked-by: default avatarRicardo Martinez <ricardo.martinez@linux.intel.com>
      Reviewed-by: default avatarSergey Ryazanov <ryazanov.s.a@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3349e4a4
    • M Chetan Kumar's avatar
      net: wwan: t7xx: use union to group port type specific data · fece7a8c
      M Chetan Kumar authored
      
      
      Use union inside t7xx_port to group port type specific data members.
      
      Signed-off-by: default avatarM Chetan Kumar <m.chetan.kumar@linux.intel.com>
      Reviewed-by: default avatarSergey Ryazanov <ryazanov.s.a@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fece7a8c
    • Eric Dumazet's avatar
      tcp: refine tcp_prune_ofo_queue() logic · b0e01253
      Eric Dumazet authored
      After commits 36a6503f ("tcp: refine tcp_prune_ofo_queue()
      to not drop all packets") and 72cd43ba
      
      
      ("tcp: free batches of packets in tcp_prune_ofo_queue()")
      tcp_prune_ofo_queue() drops a fraction of ooo queue,
      to make room for incoming packet.
      
      However it makes no sense to drop packets that are
      before the incoming packet, in sequence space.
      
      In order to recover from packet losses faster,
      it makes more sense to only drop ooo packets
      which are after the incoming packet.
      
      Tested:
      packetdrill test:
         0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
         +0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
         +0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [3800], 4) = 0
         +0 bind(3, ..., ...) = 0
         +0 listen(3, 1) = 0
      
         +0 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
         +0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 0>
        +.1 < . 1:1(0) ack 1 win 1024
         +0 accept(3, ..., ...) = 4
      
       +.01 < . 200:300(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 200:300>
      
       +.01 < . 400:500(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 400:500 200:300>
      
       +.01 < . 600:700(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 600:700 400:500 200:300>
      
       +.01 < . 800:900(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 800:900 600:700 400:500 200:300>
      
       +.01 < . 1000:1100(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 1000:1100 800:900 600:700 400:500>
      
       +.01 < . 1200:1300(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1 <nop,nop, sack 1200:1300 1000:1100 800:900 600:700>
      
      // this packet is dropped because we have no room left.
       +.01 < . 1400:1500(100) ack 1 win 1024
      
       +.01 < . 1:200(199) ack 1 win 1024
      // Make sure kernel did not drop 200:300 sequence
         +0 > . 1:1(0) ack 300 <nop,nop, sack 1200:1300 1000:1100 800:900 600:700>
      // Make room, since our RCVBUF is very small
         +0 read(4, ..., 299) = 299
      
       +.01 < . 300:400(100) ack 1 win 1024
         +0 > . 1:1(0) ack 500 <nop,nop, sack 1200:1300 1000:1100 800:900 600:700>
      
       +.01 < . 500:600(100) ack 1 win 1024
         +0 > . 1:1(0) ack 700 <nop,nop, sack 1200:1300 1000:1100 800:900>
      
         +0 read(4, ..., 400) = 400
      
       +.01 < . 700:800(100) ack 1 win 1024
         +0 > . 1:1(0) ack 900 <nop,nop, sack 1200:1300 1000:1100>
      
       +.01 < . 900:1000(100) ack 1 win 1024
         +0 > . 1:1(0) ack 1100 <nop,nop, sack 1200:1300>
      
       +.01 < . 1100:1200(100) ack 1 win 1024
      // This checks that 1200:1300 has not been removed from ooo queue
         +0 > . 1:1(0) ack 1300
      
      Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
      Acked-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
      Link: https://lore.kernel.org/r/20221101035234.3910189-1-edumazet@google.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b0e01253
    • Dr. David Alan Gilbert's avatar
      net: core: inet[46]_pton strlen len types · 44827016
      Dr. David Alan Gilbert authored
      
      
      inet[46]_pton check the input length against
      a sane length limit (INET[6]_ADDRSTRLEN), but
      the strlen value gets truncated due to being stored in an int,
      so there's a theoretical potential for a >4G string to pass
      the limit test.
      Use size_t since that's what strlen actually returns.
      
      I've had a hunt for callers that could hit this, but
      I've not managed to find anything that doesn't get checked with
      some other limit first; but it's possible that I've missed
      something in the depth of the storage target paths.
      
      Signed-off-by: default avatarDr. David Alan Gilbert <linux@treblig.org>
      Link: https://lore.kernel.org/r/20221029014604.114024-1-linux@treblig.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      44827016
  2. Nov 01, 2022
  3. Oct 31, 2022
    • Colin Ian King's avatar
      net: mvneta: Remove unused variable i · 0cf9deb3
      Colin Ian King authored
      
      
      Variable i is just being incremented and it's never used anywhere else. The
      variable and the increment are redundant so remove it.
      
      Signed-off-by: default avatarColin Ian King <colin.i.king@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0cf9deb3
    • David S. Miller's avatar
      Merge branch 'ptp-adjfine' · 5565dbd0
      David S. Miller authored
      
      
      Jacob Keller says:
      
      ====================
      ptp: convert drivers to .adjfine
      
      Many drivers implementing PTP have not yet migrated to the new .adjfine
      frequency adjustment implementation.
      
      A handful of these drivers use hardware with a simple increment value which
      is adjusted by multiplying by the adjustment factor and then dividing by
      1 billion. This calculation is very easy to convert to .adjfine, by simply
      updating the divisor.
      
      Introduce new helper functions, diff_by_scaled_ppm and adjust_by_scaled_ppm
      which perform the most common calculations used by drivers for this purpose.
      
      The adjust_by_scaled_ppm takes the base increment and scaled PPM value, and
      calculates the new increment to use.
      
      A few drivers need the difference and direction rather than a raw increment
      value. The diff_by_scaled_ppm calculates the difference and returns true if
      it should be a subtraction, false otherwise. This most closely aligns with
      existing driver implementations.
      
      I previously submitted v1 of this series at [1], and got some feedback only
      on a handful of drivers. In the interest of merging the changes which have
      received feedback, I've dropped the following drivers out of this send:
      
       * ptp_phc
       * ptp_ipx46x
       * tg3
       * hclge
       * stmac
       * cpts
      
      I plan to submit those drivers changes again at a later date. As before,
      there are some drivers which are not trivial to convert to the new helper
      functions. While they may be able to work, their implementation is different
      and I lack the hardware or datasheets to determine what the correct
      implementation would be.
      
      * drivers/net/ethernet/broadcom/bnx2x
      * drivers/net/ethernet/broadcom/bnxt
      * drivers/net/ethernet/cavium/liquidio
      * drivers/net/ethernet/chelsio/cxgb4
      * drivers/net/ethernet/freescale
      * drivers/net/ethernet/qlogic/qed
      * drivers/net/ethernet/qlogic/qede
      * drivers/net/ethernet/sfc
      * drivers/net/ethernet/sfc/siena
      * drivers/net/ethernet/ti/am65-cpts.c
      * drivers/ptp/ptp_dte.c
      
      My end goal is to drop the .adjfreq implementation entirely, and to that end
      I plan on modifying these drivers in the future to directly use
      scaled_ppm_to_ppb as the simplest method to convert them.
      
      Changes since v2:
      * Rebased to allow landing in 6.2
      * Added Richard's Acked-by
      
      Cc: "K. Y. Srinivasan" <kys@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Cc: Stephen Hemminger <sthemmin@microsoft.com>
      Cc: Wei Liu <wei.liu@kernel.org>
      Cc: Dexuan Cui <decui@microsoft.com>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Siva Reddy Kallam <siva.kallam@broadcom.com>
      Cc: Prashant Sreedharan <prashant@broadcom.com>
      Cc: Michael Chan <mchan@broadcom.com>
      Cc: Yisen Zhuang <yisen.zhuang@huawei.com>
      Cc: Salil Mehta <salil.mehta@huawei.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
      Cc: Tariq Toukan <tariqt@nvidia.com>
      Cc: Saeed Mahameed <saeedm@nvidia.com>
      Cc: Leon Romanovsky <leon@kernel.org>
      Cc: Bryan Whitehead <bryan.whitehead@microchip.com>
      Cc: Sergey Shtylyov <s.shtylyov@omp.ru>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
      Cc: Jose Abreu <joabreu@synopsys.com>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Cc: Vivek Thampi <vithampi@vmware.com>
      Cc: VMware PV-Drivers Reviewers <pv-drivers@vmware.com>
      Cc: Jie Wang <wangjie125@huawei.com>
      Cc: Jacob Keller <jacob.e.keller@intel.com>
      Cc: Guangbin Huang <huangguangbin2@huawei.com>
      Cc: Eran Ben Elisha <eranbe@nvidia.com>
      Cc: Aya Levin <ayal@nvidia.com>
      Cc: Cai Huoqing <cai.huoqing@linux.dev>
      Cc: Biju Das <biju.das.jz@bp.renesas.com>
      Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
      Cc: Phil Edworthy <phil.edworthy@renesas.com>
      Cc: Jiasheng Jiang <jiasheng@iscas.ac.cn>
      Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Wan Jiabing <wanjiabing@vivo.com>
      Cc: Lv Ruyi <lv.ruyi@zte.com.cn>
      Cc: Arnd Bergmann <arnd@arndb.de>
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5565dbd0
    • Jacob Keller's avatar
      ptp: xgbe: convert to .adjfine and adjust_by_scaled_ppm · 337ffae0
      Jacob Keller authored
      
      
      The xgbe implementation of .adjfreq is implemented in terms of a
      straight forward "base * ppb / 1 billion" calculation.
      
      Convert this driver to .adjfine and use adjust_by_scaled_ppm to calculate
      the new addend value.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Acked-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Cc: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      337ffae0
    • Jacob Keller's avatar
      ptp: ravb: convert to .adjfine and adjust_by_scaled_ppm · 673dd2c7
      Jacob Keller authored
      
      
      The ravb implementation of .adjfreq is implemented in terms of a
      straight forward "base * ppb / 1 billion" calculation.
      
      Convert this driver to .adjfine and use the adjust_by_scaled_ppm helper
      function to calculate the new addend.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: Sergey Shtylyov <s.shtylyov@omp.ru>
      Cc: Biju Das <biju.das.jz@bp.renesas.com>
      Cc: Phil Edworthy <phil.edworthy@renesas.com>
      Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
      Cc: linux-renesas-soc@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      673dd2c7
    • Jacob Keller's avatar
      ptp: lan743x: use diff_by_scaled_ppm in .adjfine implementation · 8bc900cb
      Jacob Keller authored
      
      
      Update the lan743x driver to use the recently added diff_by_scaled_ppm
      helper function. This reduces the amount of code required in lan743x_ptp.c
      driver file.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: Bryan Whitehead <bryan.whitehead@microchip.com>
      Cc: UNGLinuxDriver@microchip.com
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8bc900cb
    • Jacob Keller's avatar
      ptp: lan743x: remove .adjfreq implementation · c56dff6a
      Jacob Keller authored
      
      
      The lan743x driver implements both .adjfreq and .adjfine, but the core PTP
      subsystem prefers .adjfine if implemented. There is no reason to carry a
      .adjfreq implementation, so we can remove it.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: Bryan Whitehead <bryan.whitehead@microchip.com>
      Cc: UNGLinuxDriver@microchip.com
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c56dff6a
    • Jacob Keller's avatar
      ptp: mlx5: convert to .adjfine and adjust_by_scaled_ppm · d8aad3f3
      Jacob Keller authored
      
      
      The mlx5 implementation of .adjfreq is implemented in terms of a
      straight forward "base * ppb / 1 billion" calculation.
      
      Convert this to the .adjfine interface and use adjust_by_scaled_ppm for the
      calculation  of the new mult value.
      
      Note that the mlx5_ptp_adjfreq_real_time function expects input in terms of
      ppb, so use the scaled_ppm_to_ppb to convert before passing to this
      function.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Tested-by: default avatarShirly Ohnona <shirlyo@nvidia.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: Gal Pressman <gal@nvidia.com>
      Cc: Saeed Mahameed <saeedm@nvidia.com>
      Cc: Leon Romanovsky <leon@kernel.org>
      Cc: Aya Levin <ayal@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d8aad3f3
    • Jacob Keller's avatar
      ptp: mlx4: convert to .adjfine and adjust_by_scaled_ppm · 6ed79596
      Jacob Keller authored
      
      
      The mlx4 implementation of .adjfreq is implemented in terms of a
      straight forward "base * ppb / 1 billion" calculation.
      
      Convert this driver to .adjfine and use adjust_by_scaled_ppm to perform the
      calculation.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: Tariq Toukan <tariqt@nvidia.com>
      Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6ed79596
    • Jacob Keller's avatar
      drivers: convert unsupported .adjfreq to .adjfine · 73aa29a2
      Jacob Keller authored
      
      
      A few PTP drivers implement a .adjfreq handler which indicates the
      operation is not supported. Convert all of these to .adjfine.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Cc: "K. Y. Srinivasan" <kys@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Cc: Stephen Hemminger <sthemmin@microsoft.com>
      Cc: Wei Liu <wei.liu@kernel.org>
      Cc: Dexuan Cui <decui@microsoft.com>
      Cc: Vivek Thampi <vithampi@vmware.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      73aa29a2
    • Jacob Keller's avatar
      ptp: introduce helpers to adjust by scaled parts per million · 1060707e
      Jacob Keller authored
      
      
      Many drivers implement the .adjfreq or .adjfine PTP op function with the
      same basic logic:
      
        1. Determine a base frequency value
        2. Multiply this by the abs() of the requested adjustment, then divide by
           the appropriate divisor (1 billion, or 65,536 billion).
        3. Add or subtract this difference from the base frequency to calculate a
           new adjustment.
      
      A few drivers need the difference and direction rather than the combined
      new increment value.
      
      I recently converted the Intel drivers to .adjfine and the scaled parts per
      million (65.536 parts per billion) logic. To avoid overflow with minimal
      loss of precision, mul_u64_u64_div_u64 was used.
      
      The basic logic used by all of these drivers is very similar, and leads to
      a lot of duplicate code to perform the same task.
      
      Rather than keep this duplicate code, introduce diff_by_scaled_ppm and
      adjust_by_scaled_ppm. These helper functions calculate the difference or
      adjustment necessary based on the scaled parts per million input.
      
      The diff_by_scaled_ppm function returns true if the difference should be
      subtracted, and false otherwise.
      
      Update the Intel drivers to use the new helper functions. Other vendor
      drivers will be converted to .adjfine and this helper function in the
      following changes.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1060707e
    • Jacob Keller's avatar
      ptp: add missing documentation for parameters · b9a61b97
      Jacob Keller authored
      
      
      The ptp_find_pin_unlocked function and the ptp_system_timestamp structure
      didn't document their parameters and fields. Fix this.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9a61b97
    • Frank's avatar
      net: phy: Add driver for Motorcomm yt8521 gigabit ethernet phy · 70479a40
      Frank authored
      
      
      Add a driver for the motorcomm yt8521 gigabit ethernet phy. We have verified
       the driver on StarFive VisionFive development board, which is developed by
       Shanghai StarFive Technology Co., Ltd.. On the board, yt8521 gigabit ethernet
       phy works in utp mode, RGMII interface, supports 1000M/100M/10M speeds, and
       wol(magic package).
      
      Signed-off-by: default avatarFrank <Frank.Sae@motor-comm.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70479a40
    • Yang Yingliang's avatar
      net: microchip: sparx5: kunit test: change test_callbacks and test_vctrl to static · e8572f03
      Yang Yingliang authored
      test_callbacks and test_vctrl are only used in vcap_api_kunit.c now,
      change them to static.
      
      Fixes: 67d63751
      
       ("net: microchip: sparx5: Adding KUNIT test for the VCAP API")
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Reviewed-by: default avatarSteen Hegelund <Steen.Hegelund@microchip.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e8572f03
    • Jakub Kicinski's avatar
      net: geneve: fix array of flexible structures warnings · 8c2a535e
      Jakub Kicinski authored
      
      
      New compilers don't like flexible array of flexible structs:
      
        include/net/geneve.h:62:34: warning: array of flexible structures
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c2a535e
    • Yang Yingliang's avatar
      net: hns: hnae: remove unnecessary __module_get() and module_put() · 47aeed9d
      Yang Yingliang authored
      
      
      hnae_ae_register() is called from hns_dsaf_probe(), the refcount of
      module hnae has already be got in resolve_symbol() while calling the
      function, so the __module_get()/module_put() can be removed.
      
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47aeed9d