1. 11 Feb, 2021 3 commits
    • Linus Lüssing's avatar
      ath9k: fix data bus crash when setting nf_override via debugfs · 12c8f3d1
      Linus Lüssing authored
      When trying to set the noise floor via debugfs, a "data bus error"
      crash like the following can happen:
      
      [   88.433133] Data bus error, epc == 80221c28, ra == 83314e60
      [   88.438895] Oops[#1]:
      [   88.441246] CPU: 0 PID: 7263 Comm: sh Not tainted 4.14.195 #0
      [   88.447174] task: 838a1c20 task.stack: 82d5e000
      [   88.451847] $ 0   : 00000000 00000030 deadc0de 83141de4
      [   88.457248] $ 4   : b810a2c4 0000a2c4 83230fd4 00000000
      [   88.462652] $ 8   : 0000000a 00000000 00000001 00000000
      [   88.468055] $12   : 7f8ef318 00000000 00000000 77f802a0
      [   88.473457] $16   : 83230080 00000002 0000001b 83230080
      [   88.478861] $20   : 83a1c3f8 00841000 77f7adb0 ffffff92
      [   88.484263] $24   : 00000fa4 77edd860
      [   88.489665] $28   : 82d5e000 82d5fda8 00000000 83314e60
      [   88.495070] Hi    : 00000000
      [   88.498044] Lo    : 00000000
      [   88.501040] epc   : 80221c28 ioread32+0x8/0x10
      [   88.505671] ra    : 83314e60 ath9k_hw_loadnf+0x88/0x520 [ath9k_hw]
      [   88.512049] Status: 1000fc03 KERNEL EXL IE
      [   88.516369] Cause : 5080801c (ExcCode 07)
      [   88.520508] PrId  : 00019374 (MIPS 24Kc)
      [   88.524556] Modules linked in: ath9k ath9k_common pppoe ppp_async l2tp_ppp cdc_mbim batman_adv ath9k_hw ath sr9700 smsc95xx sierra_net rndis_host qmi_wwan pppox ppp_generic pl2303 nf_conntrack_ipv6 mcs7830 mac80211 kalmia iptable_nat ipt_REJECT ipt_MASQUERADE huawei_cdc_ncm ftdi_sio dm9601 cfg80211 cdc_subset cdc_ncm cdc_ether cdc_eem ax88179_178a asix xt_time xt_tcpudp xt_tcpmss xt_statistic xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_NETMAP xt_LOG xt_HL xt_FLOWOFFLOAD xt_DSCP xt_CLASSIFY usbserial usbnet usbhid slhc rtl8150 r8152 pegasus nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack
      [   88.597894]  libcrc32c kaweth iptable_mangle iptable_filter ipt_ECN ipheth ip_tables hso hid_generic crc_ccitt compat cdc_wdm cdc_acm br_netfilter hid evdev input_core nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 l2tp_netlink l2tp_core udp_tunnel ip6_udp_tunnel xfrm6_mode_tunnel xfrm6_mode_transport xfrm6_mode_beet ipcomp6 xfrm6_tunnel esp6 ah6 xfrm4_tunnel xfrm4_mode_tunnel xfrm4_mode_transport xfrm4_mode_beet ipcomp esp4 ah4 tunnel6 tunnel4 tun xfrm_user xfrm_ipcomp af_key xfrm_algo sha256_generic sha1_generic jitterentropy_rng drbg md5 hmac echainiv des_generic deflate zlib_inflate zlib_deflate cbc authenc crypto_acompress ehci_platform ehci_hcd gpio_button_hotplug usbcore nls_base usb_common crc16 mii aead crypto_null cryptomgr crc32c_generic
      [   88.671671]  crypto_hash
      [   88.674292] Process sh (pid: 7263, threadinfo=82d5e000, task=838a1c20, tls=77f81efc)
      [   88.682279] Stack : 00008060 00000008 00000200 00000000 00000000 00000000 00000000 00000002
      [   88.690916]         80500000 83230080 82d5fe22 00841000 77f7adb0 00000000 00000000 83156858
      [   88.699553]         00000000 8352fa00 83ad62b0 835302a8 00000000 300a00f8 00000003 82d5fe38
      [   88.708190]         82d5fef4 00000001 77f54dc4 77f80000 77f7adb0 c79fe901 00000000 00000000
      [   88.716828]         80510000 00000002 00841000 77f54dc4 77f80000 801ce4cc 0000000b 41824292
      [   88.725465]         ...
      [   88.727994] Call Trace:
      [   88.730532] [<80221c28>] ioread32+0x8/0x10
      [   88.734765] Code: 00000000  8c820000  0000000f <03e00008> 00000000  08088708  00000000  aca40000  03e00008
      [   88.744846]
      [   88.746464] ---[ end trace db226b2de1b69b9e ]---
      [   88.753477] Kernel panic - not syncing: Fatal exception
      [   88.759981] Rebooting in 3 seconds..
      
      The "REG_READ(ah, AR_PHY_AGC_CONTROL)" in ath9k_hw_loadnf() does not
      like being called when the hardware is asleep, leading to this crash.
      
      The easiest way to reproduce this is trying to set nf_override while
      the hardware is down:
      
        $ ip link set down dev wlan0
        $ echo "-85" > /sys/kernel/debug/ieee80211/phy0/ath9k/nf_override
      
      Fixing this crash by waking the hardware up before trying to set the
      noise floor. Similar to what other ath9k debugfs files do.
      
      Tested on a Lima board from 8devices, which has a QCA 4531 chipset.
      
      Fixes: b9018975 ("ath9k: add noise floor override option")
      Cc: Simon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: default avatarLinus Lüssing <ll@simonwunderlich.de>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20210209184352.4272-1-linus.luessing@c0d3.blue
      12c8f3d1
    • Rajkumar Manoharan's avatar
      ath11k: add support to configure spatial reuse parameter set · b56b08ae
      Rajkumar Manoharan authored
      The SPR parameter set comprises OBSS PD threshold for SRG
      and non SRG and Bitmap of BSS color and partial BSSID. This adds
      support to configure fields of SPR element to firmware.
      
      Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2
      Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1-01164-QCAHKSWPL_SILICONZ-1
      Tested-by: default avatarMuna Sinada <msinada@codeaurora.org>
      Signed-off-by: default avatarRajkumar Manoharan <rmanohar@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1612843714-29174-1-git-send-email-rmanohar@codeaurora.org
      b56b08ae
    • Wen Gong's avatar
      ath10k: restore tx sk_buff of htt header for SDIO · e6f1c0d2
      Wen Gong authored
      ieee80211_report_used_skb of mac80211 use the frame_control of
      ieee80211_hdr in sk_buff and indicate it to another function
      ieee80211_mgd_conn_tx_status, then it queue work ieee80211_sta_work,
      but ieee80211_is_auth(fc) in ieee80211_sta_work check fail when the
      authentication has transmitted by ath10k.
      
      When the ath10k report it with HTT_TX_COMPL_STATE_DISCARD, it will be
      set without flag IEEE80211_TX_STAT_ACK, then mac80211 should try the
      next authentication immeditely, but in fact mac80211 wait 1 second for
      it, the reason is ieee80211_is_auth(fc) in ieee80211_sta_work check
      fail for the sk_buff which is not restored, the data of sk_buff is not
      the begin of ieee80211_hdr, in fact it is the begin of htt_cmd_hdr.
      
      dmesg without this patch, it wait 1 second for the next retry when
      ath10k report without IEEE80211_TX_STAT_ACK for authentication:
      [ 6973.883116] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 1/3)
      [ 6974.705471] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 2/3)
      [ 6975.712962] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 3/3)
      
      Restore the sk_buff make mac8011 retry the next authentication
      immeditely which meet logic of mac80211.
      
      dmesg with this patch, it retry the next immeditely when ath10k
      report without IEEE80211_TX_STAT_ACK for authentication:
      [  216.734813] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 1/3)
      [  216.739914] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 2/3)
      [  216.745874] wlan0: send auth to 5e:6f:2b:0d:fb:d7 (try 3/3)
      
      Tested-on: QCA6174 hw3.2 SDIO WLAN.RMH.4.4.1-00049
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1612839530-2263-1-git-send-email-wgong@codeaurora.org
      e6f1c0d2
  2. 10 Feb, 2021 1 commit
  3. 09 Feb, 2021 7 commits
    • Max Chen's avatar
      wil6210: Add Support for Extended DMG MCS 12.1 · 7064e219
      Max Chen authored
      FW reports Tx/Rx extended MCS 12.1 to driver as "26". Driver will
      convert this into base MCS 7 + EXTENDED_SC_DMG flag so kernel can do
      the correct phy rate conversion. Also add log prints to print "12.1"
      instead of "26" for extended MCS.
      Signed-off-by: default avatarMax Chen <mxchen@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1609977050-7089-3-git-send-email-mxchen@codeaurora.org
      7064e219
    • Tamizh Chelvam's avatar
      ath10k: Add new debug level for sta related logs · 97614c59
      Tamizh Chelvam authored
      Add new level ATH10K_DBG_STA debug_mask for printing
      sta related logs. This will be useful to check the
      debug logs of connection and changes related to
      station.
      
      Tested-on: QCA9984 hw1.0 PCI 10.4-3.9.0.2-00021
      Signed-off-by: default avatarTamizh Chelvam <tamizhr@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1612463738-16542-1-git-send-email-tamizhr@codeaurora.org
      97614c59
    • Arnd Bergmann's avatar
      carl9170: fix struct alignment conflict · ca9ad549
      Arnd Bergmann authored
      Multiple structures in the carl9170 driver have alignment
      impossible alignment constraints that gcc warns about when
      building with 'make W=1':
      
      drivers/net/wireless/ath/carl9170/fwcmd.h:243:2: warning: alignment 1 of 'union <anonymous>' is less than 4 [-Wpacked-not-aligned]
      drivers/net/wireless/ath/carl9170/wlan.h:373:1: warning: alignment 1 of 'struct ar9170_rx_frame_single' is less than 2 [-Wpacked-not-aligned]
      
      In the carl9170_cmd structure, multiple members that have an explicit
      alignment requirement of four bytes are added into a union with explicit
      byte alignment, but this in turn is part of a structure that also has
      four-byte alignment.
      
      In the wlan.h header, multiple structures contain a ieee80211_hdr member
      that is required to be two-byte aligned to avoid alignmnet faults when
      processing network headers, but all members are forced to be byte-aligned
      using the __packed tag at the end of the struct definition.
      
      In both cases, leaving out the packing does not change the internal
      layout of the structure but changes the alignment constraint of the
      structure itself.
      
      Change all affected structures to only apply packing where it does
      not violate the alignment requirement of the contained structure.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20210204162926.3262598-1-arnd@kernel.org
      ca9ad549
    • Loic Poulain's avatar
      wcn36xx: del BA session on TX stop · 84da2a84
      Loic Poulain authored
      Deleting BA session was not correcly performed, causing communication
      issues with APs that dynamically stop/start new BA sessions.
      Signed-off-by: default avatarLoic Poulain <loic.poulain@linaro.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1611328304-1010-1-git-send-email-loic.poulain@linaro.org
      84da2a84
    • Karthikeyan Periyasamy's avatar
      ath11k: Update tx descriptor search index properly · 4b965be5
      Karthikeyan Periyasamy authored
      Tx descriptor search index field should be updated with hw peer id
      and not by AST Hash as per the HW/FW recommendation. Incorrect search
      index causes throughput degradation in all scenario for all the
      platforms. so updated the search index field with hw peer id, which
      is a common change applicable for all the platforms. Also no need of these
      configuration for non station type. seen 10% throughput increase in WDS
      traffic with this change.
      
      Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01492-QCAHKSWPL_SILICONZ-1
      Signed-off-by: default avatarKarthikeyan Periyasamy <periyasa@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/1612410960-9120-1-git-send-email-periyasa@codeaurora.org
      4b965be5
    • Anand K Mistry's avatar
      ath10k: Fix lockdep assertion warning in ath10k_sta_statistics · 7df28718
      Anand K Mistry authored
      ath10k_debug_fw_stats_request just be called with conf_mutex held,
      otherwise the following warning is seen when lock debugging is enabled:
      
      WARNING: CPU: 0 PID: 793 at drivers/net/wireless/ath/ath10k/debug.c:357 ath10k_debug_fw_stats_request+0x12c/0x133 [ath10k_core]
      Modules linked in: snd_hda_codec_hdmi designware_i2s snd_hda_intel snd_intel_dspcfg snd_hda_codec i2c_piix4 snd_hwdep snd_hda_core acpi_als kfifo_buf industrialio snd_soc_max98357a snd_soc_adau7002 snd_soc_acp_da7219mx98357_mach snd_soc_da7219 acp_audio_dma ccm xt_MASQUERADE fuse ath10k_pci ath10k_core lzo_rle ath lzo_compress mac80211 zram cfg80211 r8152 mii joydev
      CPU: 0 PID: 793 Comm: wpa_supplicant Tainted: G        W         5.10.9 #5
      Hardware name: HP Grunt/Grunt, BIOS Google_Grunt.11031.104.0 09/05/2019
      RIP: 0010:ath10k_debug_fw_stats_request+0x12c/0x133 [ath10k_core]
      Code: 1e bb a1 ff ff ff 4c 89 ef 48 c7 c6 d3 31 2e c0 89 da 31 c0 e8 bd f8 ff ff 89 d8 eb 02 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 <0f> 0b e9 04 ff ff ff 0f 1f 44 00 00 55 48 89 e5 41 56 53 48 89 fb
      RSP: 0018:ffffb2478099f7d0 EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff9e432700cce0 RCX: 11c85cfd6b8e3b00
      RDX: ffff9e432700cce0 RSI: ffff9e43127c5668 RDI: ffff9e4318deddf0
      RBP: ffffb2478099f7f8 R08: 0000000000000002 R09: 00000003fd7068cc
      R10: ffffffffc01b2749 R11: ffffffffc029efaf R12: ffff9e432700c000
      R13: ffff9e43127c33e0 R14: ffffb2478099f918 R15: ffff9e43127c33e0
      FS:  00007f7ea48e2740(0000) GS:ffff9e432aa00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 000059aa799ddf38 CR3: 0000000118de2000 CR4: 00000000001506f0
      Call Trace:
       ath10k_sta_statistics+0x4d/0x270 [ath10k_core]
       sta_set_sinfo+0x1be/0xaec [mac80211]
       ieee80211_get_station+0x58/0x76 [mac80211]
       rdev_get_station+0xf1/0x11e [cfg80211]
       nl80211_get_station+0x7f/0x146 [cfg80211]
       genl_rcv_msg+0x32e/0x35e
       ? nl80211_stop_ap+0x19/0x19 [cfg80211]
       ? nl80211_get_station+0x146/0x146 [cfg80211]
       ? genl_rcv+0x19/0x36
       ? genl_rcv+0x36/0x36
       netlink_rcv_skb+0x89/0xfb
       genl_rcv+0x28/0x36
       netlink_unicast+0x169/0x23b
       netlink_sendmsg+0x38a/0x402
       sock_sendmsg+0x72/0x76
       ____sys_sendmsg+0x153/0x1cc
       ? copy_msghdr_from_user+0x5d/0x85
       ___sys_sendmsg+0x7c/0xb5
       ? lock_acquire+0x181/0x23d
       ? syscall_trace_enter+0x15e/0x160
       ? find_held_lock+0x3d/0xb2
       ? syscall_trace_enter+0x15e/0x160
       ? sched_clock_cpu+0x15/0xc6
       __sys_sendmsg+0x62/0x9a
       do_syscall_64+0x43/0x55
       entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fixes: 4913e675 ("ath10k: enable rx duration report default for wmi tlv")
      Signed-off-by: default avatarAnand K Mistry <amistry@google.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20210202144033.1.I9e556f9fb1110d58c31d04a8a1293995fb8bb678@changeid
      7df28718
    • Anand K Mistry's avatar
      ath10k: Fix suspicious RCU usage warning in ath10k_wmi_tlv_parse_peer_stats_info() · 2615e3cd
      Anand K Mistry authored
      The ieee80211_find_sta_by_ifaddr call in
      ath10k_wmi_tlv_parse_peer_stats_info must be called while holding the
      RCU read lock. Otherwise, the following warning will be seen when RCU
      usage checking is enabled:
      
      =============================
      WARNING: suspicious RCU usage
      5.10.3 #8 Tainted: G        W
      -----------------------------
      include/linux/rhashtable.h:594 suspicious rcu_dereference_check() usage!
      
      other info that might help us debug this:
      
      rcu_scheduler_active = 2, debug_locks = 1
      no locks held by ksoftirqd/1/16.
      
      stack backtrace:
      CPU: 1 PID: 16 Comm: ksoftirqd/1 Tainted: G        W         5.10.3 #8
      Hardware name: HP Grunt/Grunt, BIOS Google_Grunt.11031.104.0 09/05/2019
      Call Trace:
       dump_stack+0xab/0x115
       sta_info_hash_lookup+0x71/0x1e9 [mac80211]
       ? lock_is_held_type+0xe6/0x12f
       ? __kasan_kmalloc+0xfb/0x112
       ieee80211_find_sta_by_ifaddr+0x12/0x61 [mac80211]
       ath10k_wmi_tlv_parse_peer_stats_info+0xbd/0x10b [ath10k_core]
       ath10k_wmi_tlv_iter+0x8b/0x1a1 [ath10k_core]
       ? ath10k_wmi_tlv_iter+0x1a1/0x1a1 [ath10k_core]
       ath10k_wmi_tlv_event_peer_stats_info+0x103/0x13b [ath10k_core]
       ath10k_wmi_tlv_op_rx+0x722/0x80d [ath10k_core]
       ath10k_htc_rx_completion_handler+0x16e/0x1d7 [ath10k_core]
       ath10k_pci_process_rx_cb+0x116/0x22c [ath10k_pci]
       ? ath10k_htc_process_trailer+0x332/0x332 [ath10k_core]
       ? _raw_spin_unlock_irqrestore+0x34/0x61
       ? lockdep_hardirqs_on+0x8e/0x12e
       ath10k_ce_per_engine_service+0x55/0x74 [ath10k_core]
       ath10k_ce_per_engine_service_any+0x76/0x84 [ath10k_core]
       ath10k_pci_napi_poll+0x49/0x141 [ath10k_pci]
       net_rx_action+0x11a/0x347
       __do_softirq+0x2d3/0x539
       run_ksoftirqd+0x4b/0x86
       smpboot_thread_fn+0x1d0/0x2ab
       ? cpu_report_death+0x7f/0x7f
       kthread+0x189/0x191
       ? cpu_report_death+0x7f/0x7f
       ? kthread_blkcg+0x31/0x31
       ret_from_fork+0x22/0x30
      
      Fixes: 0f7cb268 ("ath10k: add rx bitrate report for SDIO")
      Signed-off-by: default avatarAnand K Mistry <amistry@google.com>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      Link: https://lore.kernel.org/r/20210202134451.1.I0d2e83c42755671b7143504b62787fd06cd914ed@changeid
      2615e3cd
  4. 08 Feb, 2021 22 commits
  5. 07 Feb, 2021 1 commit
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · badc6ac3
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2021-02-05
      
      This series contains updates to ice driver only.
      
      Jake adds adds reporting of timeout length during devlink flash and
      implements support to report devlink info regarding the version of
      firmware that is stored (downloaded) to the device, but is not yet active.
      ice_devlink_info_get will report "stored" versions when there is no
      pending flash update. Version info includes the UNDI Option ROM, the
      Netlist module, and the fw.bundle_id.
      
      Gustavo A. R. Silva replaces a one-element array to flexible-array
      member.
      
      Bruce utilizes flex_array_size() helper and removes dead code on a check
      for a condition that can't occur.
      
      v2:
      * removed security revision implementation, and re-ordered patches to
      account for this removal
      * squashed patches implementing ice_read_flash_module to avoid patches
      refactoring the implementation of a previous patch in the series
      * modify ice_devlink_info_get to always report "stored" versions instead
      of only reporting them when a pending flash update is ready.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
        ice: remove dead code
        ice: use flex_array_size where possible
        ice: Replace one-element array with flexible-array member
        ice: display stored UNDI firmware version via devlink info
        ice: display stored netlist versions via devlink info
        ice: display some stored NVM versions via devlink info
        ice: introduce function for reading from flash modules
        ice: cache NVM module bank information
        ice: introduce context struct for info report
        ice: create flash_info structure and separate NVM version
        ice: report timeout length for erasing during devlink flash
      ====================
      
      Link: https://lore.kernel.org/r/20210206044101.636242-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      badc6ac3
  6. 06 Feb, 2021 6 commits
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · c273a20c
      Jakub Kicinski authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS updates for net-next
      
      1) Remove indirection and use nf_ct_get() instead from nfnetlink_log
         and nfnetlink_queue, from Florian Westphal.
      
      2) Add weighted random twos choice least-connection scheduling for IPVS,
         from Darby Payne.
      
      3) Add a __hash placeholder in the flow tuple structure to identify
         the field to be included in the rhashtable key hash calculation.
      
      4) Add a new nft_parse_register_load() and nft_parse_register_store()
         to consolidate register load and store in the core.
      
      5) Statify nft_parse_register() since it has no more module clients.
      
      6) Remove redundant assignment in nft_cmp, from Colin Ian King.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next:
        netfilter: nftables: remove redundant assignment of variable err
        netfilter: nftables: statify nft_parse_register()
        netfilter: nftables: add nft_parse_register_store() and use it
        netfilter: nftables: add nft_parse_register_load() and use it
        netfilter: flowtable: add hash offset field to tuple
        ipvs: add weighted random twos choice algorithm
        netfilter: ctnetlink: remove get_ct indirection
      ====================
      
      Link: https://lore.kernel.org/r/20210206015005.23037-1-pablo@netfilter.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c273a20c
    • Heiner Kallweit's avatar
      r8169: don't try to disable interrupts if NAPI is scheduled already · 7274c414
      Heiner Kallweit authored
      There's no benefit in trying to disable interrupts if NAPI is
      scheduled already. This allows us to save a PCI write in this case.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Link: https://lore.kernel.org/r/78c7f2fb-9772-1015-8c1d-632cbdff253f@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7274c414
    • Xie He's avatar
      net/packet: Improve the comment about LL header visibility criteria · 21c85974
      Xie He authored
      The "dev_has_header" function, recently added in
      commit d5496990 ("net/packet: fix packet receive on L3 devices
      without visible hard header"),
      is more accurate as criteria for determining whether a device exposes
      the LL header to upper layers, because in addition to dev->header_ops,
      it also checks for dev->header_ops->create.
      
      When transmitting an skb on a device, dev_hard_header can be called to
      generate an LL header. dev_hard_header will only generate a header if
      dev->header_ops->create is present.
      Signed-off-by: default avatarXie He <xie.he.0141@gmail.com>
      Acked-by: default avatarWillem de Bruijn <willemb@google.com>
      Link: https://lore.kernel.org/r/20210205224124.21345-1-xie.he.0141@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      21c85974
    • Jakub Kicinski's avatar
      Merge branch 'net-ipa-a-mix-of-small-improvements' · 163a1802
      Jakub Kicinski authored
      Alex Elder says:
      
      ====================
      net: ipa: a mix of small improvements
      
      Version 2 of this series restructures a couple of the changed
      functions (in patches 1 and 2) to avoid blocks of indented code
      by returning early when possible, as suggested by Jakub.  The
      description of the first patch was changed as a result, to better
      reflect what the updated patch does.  It also fixes one spot I
      identified when updating the code, where gsi_channel_stop() was
      doing the wrong thing on error.
      
      The original description for this series is below.
      
      This series contains a sort of unrelated set of code cleanups.
      
      The first two are things I wanted to do in a series that updated
      some NAPI code recently.  I didn't want to change things in a way
      that affected existing testing so I set these aside for later
      (i.e., now).
      
      The third makes a change to event ring handling that's similar to
      what was done a while back for channels.  There's little benefit to
      cacheing the current state of an event ring, so with this we'll just
      fetch the state from hardware whenever we need it.
      
      The fourth patch removes the definitions of two unused symbols.
      
      The fifth replaces a count that is always 0 or 1 with a Boolean.
      
      The sixth removes a build-time validation check that doesn't really
      provide benefit.
      
      And the last one fixes a problem (in two spots) that could cause a
      build-time check to fail "bogusly".
      ====================
      
      Link: https://lore.kernel.org/r/20210205221100.1738-1-elder@linaro.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      163a1802
    • Alex Elder's avatar
      net: ipa: avoid field overflow · cd115009
      Alex Elder authored
      It's possible that the length passed to ipa_header_size_encoded()
      is larger than what can be represented by the HDR_LEN field alone
      (starting with IPA v4.5).  If we attempted that, u32_encode_bits()
      would trigger a build-time error.
      
      Avoid this problem by masking off high-order bits of the value
      encoded as the lower portion of the header length.
      
      The same sort of problem exists in ipa_metadata_offset_encoded(),
      so implement the same fix there.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      cd115009
    • Alex Elder's avatar
      net: ipa: get rid of status size constraint · 48735374
      Alex Elder authored
      There is a build-time check that the packet status structure is a
      multiple of 4 bytes in size.  It's not clear where that constraint
      comes from, but the structure defines what hardware provides so its
      definition won't change.  Get rid of the check; it adds no value.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      48735374