Skip to content

Commit 9bd572e

Browse files
committed
Merge tag 'net-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from netfilter, bpf and wireless. Still no major regressions, the release continues to be calm. An uptick of fixes this time around due to trivial data race fixes and patches flowing down from subtrees. There has been a few driver fixes (particularly a few fixes for false positives due to 66e4c8d which went into -next in May!) that make me worry the wide testing is not exactly fully through. So "calm" but not "let's just cut the final ASAP" vibes over here. Current release - regressions: - wifi: rtw88: fix write to const table of channel parameters Current release - new code bugs: - mac80211: add gfp_t arg to ieeee80211_obss_color_collision_notify - mlx5: - TC, allow offload from uplink to other PF's VF - Lag, decouple FDB selection and shared FDB - Lag, correct get the port select mode str - bnxt_en: fix and simplify XDP transmit path - r8152: fix accessing unset transport header Previous releases - regressions: - conntrack: fix crash due to confirmed bit load reordering (after atomic -> refcount conversion) - stmmac: dwc-qos: disable split header for Tegra194 Previous releases - always broken: - mlx5e: ring the TX doorbell on DMA errors - bpf: make sure mac_header was set before using it - mac80211: do not wake queues on a vif that is being stopped - mac80211: fix queue selection for mesh/OCB interfaces - ip: fix dflt addr selection for connected nexthop - seg6: fix skb checksums for SRH encapsulation/insertion - xdp: fix spurious packet loss in generic XDP TX path - bunch of sysctl data race fixes - nf_log: incorrect offset to network header Misc: - bpf: add flags arg to bpf_dynptr_read and bpf_dynptr_write APIs" * tag 'net-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (87 commits) nfp: flower: configure tunnel neighbour on cmsg rx net/tls: Check for errors in tls_device_init MAINTAINERS: Add an additional maintainer to the AMD XGBE driver xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue selftests/net: test nexthop without gw ip: fix dflt addr selection for connected nexthop net: atlantic: remove aq_nic_deinit() when resume net: atlantic: remove deep parameter on suspend/resume functions sfc: fix kernel panic when creating VF seg6: bpf: fix skb checksum in bpf_push_seg6_encap() seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors seg6: fix skb checksum evaluation in SRH encapsulation/insertion sfc: fix use after free when disabling sriov net: sunhme: output link status with a single print. r8152: fix accessing unset transport header net: stmmac: fix leaks in probe net: ftgmac100: Hold reference returned by of_get_child_by_name() nexthop: Fix data-races around nexthop_compat_mode. ipv4: Fix data-races around sysctl_ip_dynaddr. tcp: Fix a data-race around sysctl_tcp_ecn_fallback. ...
2 parents f41d5df + 656bd03 commit 9bd572e

98 files changed

Lines changed: 768 additions & 331 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Qualcomm Atheros ath9k wireless devices Generic Binding
88

99
maintainers:
10-
- Kalle Valo <kvalo@codeaurora.org>
10+
- Toke Høiland-Jørgensen <toke@toke.dk>
1111

1212
description: |
1313
This node provides properties for configuring the ath9k wireless device.

Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
99
title: Qualcomm Technologies ath11k wireless devices Generic Binding
1010

1111
maintainers:
12-
- Kalle Valo <kvalo@codeaurora.org>
12+
- Kalle Valo <kvalo@kernel.org>
1313

1414
description: |
1515
These are dt entries for Qualcomm Technologies, Inc. IEEE 802.11ax

Documentation/networking/ip-sysctl.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,7 +1085,7 @@ cipso_cache_enable - BOOLEAN
10851085
cipso_cache_bucket_size - INTEGER
10861086
The CIPSO label cache consists of a fixed size hash table with each
10871087
hash bucket containing a number of cache entries. This variable limits
1088-
the number of entries in each hash bucket; the larger the value the
1088+
the number of entries in each hash bucket; the larger the value is, the
10891089
more CIPSO label mappings that can be cached. When the number of
10901090
entries in a given hash bucket reaches this limit adding new entries
10911091
causes the oldest entry in the bucket to be removed to make room.
@@ -1179,7 +1179,7 @@ ip_autobind_reuse - BOOLEAN
11791179
option should only be set by experts.
11801180
Default: 0
11811181

1182-
ip_dynaddr - BOOLEAN
1182+
ip_dynaddr - INTEGER
11831183
If set non-zero, enables support for dynamic addresses.
11841184
If set to a non-zero value larger than 1, a kernel log
11851185
message will be printed when dynamic address rewriting

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,6 +1038,7 @@ F: arch/arm64/boot/dts/amd/
10381038

10391039
AMD XGBE DRIVER
10401040
M: Tom Lendacky <thomas.lendacky@amd.com>
1041+
M: "Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>
10411042
L: netdev@vger.kernel.org
10421043
S: Supported
10431044
F: arch/arm64/boot/dts/amd/amd-seattle-xgbe*.dtsi

drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ static void aq_pci_shutdown(struct pci_dev *pdev)
379379
}
380380
}
381381

382-
static int aq_suspend_common(struct device *dev, bool deep)
382+
static int aq_suspend_common(struct device *dev)
383383
{
384384
struct aq_nic_s *nic = pci_get_drvdata(to_pci_dev(dev));
385385

@@ -392,17 +392,15 @@ static int aq_suspend_common(struct device *dev, bool deep)
392392
if (netif_running(nic->ndev))
393393
aq_nic_stop(nic);
394394

395-
if (deep) {
396-
aq_nic_deinit(nic, !nic->aq_hw->aq_nic_cfg->wol);
397-
aq_nic_set_power(nic);
398-
}
395+
aq_nic_deinit(nic, !nic->aq_hw->aq_nic_cfg->wol);
396+
aq_nic_set_power(nic);
399397

400398
rtnl_unlock();
401399

402400
return 0;
403401
}
404402

405-
static int atl_resume_common(struct device *dev, bool deep)
403+
static int atl_resume_common(struct device *dev)
406404
{
407405
struct pci_dev *pdev = to_pci_dev(dev);
408406
struct aq_nic_s *nic;
@@ -415,11 +413,6 @@ static int atl_resume_common(struct device *dev, bool deep)
415413
pci_set_power_state(pdev, PCI_D0);
416414
pci_restore_state(pdev);
417415

418-
if (deep) {
419-
/* Reinitialize Nic/Vecs objects */
420-
aq_nic_deinit(nic, !nic->aq_hw->aq_nic_cfg->wol);
421-
}
422-
423416
if (netif_running(nic->ndev)) {
424417
ret = aq_nic_init(nic);
425418
if (ret)
@@ -444,22 +437,22 @@ static int atl_resume_common(struct device *dev, bool deep)
444437

445438
static int aq_pm_freeze(struct device *dev)
446439
{
447-
return aq_suspend_common(dev, true);
440+
return aq_suspend_common(dev);
448441
}
449442

450443
static int aq_pm_suspend_poweroff(struct device *dev)
451444
{
452-
return aq_suspend_common(dev, true);
445+
return aq_suspend_common(dev);
453446
}
454447

455448
static int aq_pm_thaw(struct device *dev)
456449
{
457-
return atl_resume_common(dev, true);
450+
return atl_resume_common(dev);
458451
}
459452

460453
static int aq_pm_resume_restore(struct device *dev)
461454
{
462-
return atl_resume_common(dev, true);
455+
return atl_resume_common(dev);
463456
}
464457

465458
static const struct dev_pm_ops aq_pm_ops = {

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7790,7 +7790,7 @@ static void bnxt_hwrm_dbg_qcaps(struct bnxt *bp)
77907790

77917791
static int bnxt_hwrm_queue_qportcfg(struct bnxt *bp);
77927792

7793-
static int bnxt_hwrm_func_qcaps(struct bnxt *bp)
7793+
int bnxt_hwrm_func_qcaps(struct bnxt *bp)
77947794
{
77957795
int rc;
77967796

@@ -10065,7 +10065,8 @@ static int bnxt_hwrm_if_change(struct bnxt *bp, bool up)
1006510065

1006610066
if (flags & FUNC_DRV_IF_CHANGE_RESP_FLAGS_RESC_CHANGE)
1006710067
resc_reinit = true;
10068-
if (flags & FUNC_DRV_IF_CHANGE_RESP_FLAGS_HOT_FW_RESET_DONE)
10068+
if (flags & FUNC_DRV_IF_CHANGE_RESP_FLAGS_HOT_FW_RESET_DONE ||
10069+
test_bit(BNXT_STATE_FW_RESET_DET, &bp->state))
1006910070
fw_reset = true;
1007010071
else
1007110072
bnxt_remap_fw_health_regs(bp);

drivers/net/ethernet/broadcom/bnxt/bnxt.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2314,6 +2314,7 @@ int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset);
23142314
int bnxt_hwrm_alloc_wol_fltr(struct bnxt *bp);
23152315
int bnxt_hwrm_free_wol_fltr(struct bnxt *bp);
23162316
int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp, bool all);
2317+
int bnxt_hwrm_func_qcaps(struct bnxt *bp);
23172318
int bnxt_hwrm_fw_set_time(struct bnxt *);
23182319
int bnxt_open_nic(struct bnxt *, bool, bool);
23192320
int bnxt_half_open_nic(struct bnxt *bp);

drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -979,9 +979,11 @@ static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req,
979979
if (rc)
980980
return rc;
981981

982-
rc = bnxt_dl_livepatch_info_put(bp, req, BNXT_FW_SRT_PATCH);
983-
if (rc)
984-
return rc;
982+
if (BNXT_CHIP_P5(bp)) {
983+
rc = bnxt_dl_livepatch_info_put(bp, req, BNXT_FW_SRT_PATCH);
984+
if (rc)
985+
return rc;
986+
}
985987
return bnxt_dl_livepatch_info_put(bp, req, BNXT_FW_CRT_PATCH);
986988

987989
}

drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,23 @@ static int bnxt_refclk_read(struct bnxt *bp, struct ptp_system_timestamp *sts,
7676
u64 *ns)
7777
{
7878
struct bnxt_ptp_cfg *ptp = bp->ptp_cfg;
79+
u32 high_before, high_now, low;
7980

8081
if (test_bit(BNXT_STATE_IN_FW_RESET, &bp->state))
8182
return -EIO;
8283

84+
high_before = readl(bp->bar0 + ptp->refclk_mapped_regs[1]);
8385
ptp_read_system_prets(sts);
84-
*ns = readl(bp->bar0 + ptp->refclk_mapped_regs[0]);
86+
low = readl(bp->bar0 + ptp->refclk_mapped_regs[0]);
8587
ptp_read_system_postts(sts);
86-
*ns |= (u64)readl(bp->bar0 + ptp->refclk_mapped_regs[1]) << 32;
88+
high_now = readl(bp->bar0 + ptp->refclk_mapped_regs[1]);
89+
if (high_now != high_before) {
90+
ptp_read_system_prets(sts);
91+
low = readl(bp->bar0 + ptp->refclk_mapped_regs[0]);
92+
ptp_read_system_postts(sts);
93+
}
94+
*ns = ((u64)high_now << 32) | low;
95+
8796
return 0;
8897
}
8998

drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,15 +823,20 @@ static int bnxt_sriov_enable(struct bnxt *bp, int *num_vfs)
823823
goto err_out2;
824824

825825
rc = pci_enable_sriov(bp->pdev, *num_vfs);
826-
if (rc)
826+
if (rc) {
827+
bnxt_ulp_sriov_cfg(bp, 0);
827828
goto err_out2;
829+
}
828830

829831
return 0;
830832

831833
err_out2:
832834
/* Free the resources reserved for various VF's */
833835
bnxt_hwrm_func_vf_resource_free(bp, *num_vfs);
834836

837+
/* Restore the max resources */
838+
bnxt_hwrm_func_qcaps(bp);
839+
835840
err_out1:
836841
bnxt_free_vf_resources(bp);
837842

0 commit comments

Comments
 (0)