Skip to content

Commit c77cd47

Browse files
committed
Merge tag 'net-6.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from netfilter, Bluetooth and WPAN. No outstanding fixes / investigations at this time. Current release - new code bugs: - eth: fbnic: revert HWMON support, it doesn't work at all and revert is similar size as the fixes Previous releases - regressions: - tcp: allow a connection when sk_max_ack_backlog is zero - tls: fix tls_sw_sendmsg error handling Previous releases - always broken: - netdev netlink family: - prevent accessing NAPI instances from another namespace - don't dump Tx and uninitialized NAPIs - net: sysctl: avoid using current->nsproxy, fix null-deref if task is exiting and stick to opener's netns - sched: sch_cake: add bounds checks to host bulk flow fairness counts Misc: - annual cleanup of inactive maintainers" * tag 'net-6.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (57 commits) rds: sysctl: rds_tcp_{rcv,snd}buf: avoid using current->nsproxy sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy sctp: sysctl: udp_port: avoid using current->nsproxy sctp: sysctl: auth_enable: avoid using current->nsproxy sctp: sysctl: rto_min/max: avoid using current->nsproxy sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy mptcp: sysctl: blackhole timeout: avoid using current->nsproxy mptcp: sysctl: sched: avoid using current->nsproxy mptcp: sysctl: avail sched: remove write access MAINTAINERS: remove Lars Povlsen from Microchip Sparx5 SoC MAINTAINERS: remove Noam Dagan from AMAZON ETHERNET MAINTAINERS: remove Ying Xue from TIPC MAINTAINERS: remove Mark Lee from MediaTek Ethernet MAINTAINERS: mark stmmac ethernet as an Orphan MAINTAINERS: remove Andy Gospodarek from bonding MAINTAINERS: update maintainers for Microchip LAN78xx MAINTAINERS: mark Synopsys DW XPCS as Orphan net/mlx5: Fix variable not being completed when function returns rtase: Fix a check for error in rtase_alloc_msix() net: stmmac: dwmac-tegra: Read iommu stream id from device tree ...
2 parents 643e2e2 + b5cf67a commit c77cd47

File tree

55 files changed

+494
-408
lines changed

Some content is hidden

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

55 files changed

+494
-408
lines changed

CREDITS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ N: Thomas Abraham
2020
2121
D: Samsung pin controller driver
2222

23+
N: Jose Abreu
24+
25+
D: Synopsys DesignWare XPCS MDIO/PCS driver.
26+
2327
N: Dragos Acostachioaie
2428
2529
W: http://www.arbornet.org/~dragos
@@ -1428,6 +1432,10 @@ S: 8124 Constitution Apt. 7
14281432
S: Sterling Heights, Michigan 48313
14291433
S: USA
14301434

1435+
N: Andy Gospodarek
1436+
1437+
D: Maintenance and contributions to the network interface bonding driver.
1438+
14311439
N: Wolfgang Grandegger
14321440
14331441
D: Controller Area Network (device drivers)
@@ -1812,6 +1820,10 @@ D: Author/maintainer of most DRM drivers (especially ATI, MGA)
18121820
D: Core DRM templates, general DRM and 3D-related hacking
18131821
S: No fixed address
18141822

1823+
N: Woojung Huh
1824+
1825+
D: Microchip LAN78XX USB Ethernet driver
1826+
18151827
N: Kenn Humborg
18161828
18171829
D: Mods to loop device to support sparse backing files

Documentation/devicetree/bindings/net/pse-pd/pse-controller.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ properties:
8181
List of phandles, each pointing to the power supply for the
8282
corresponding pairset named in 'pairset-names'. This property
8383
aligns with IEEE 802.3-2022, Section 33.2.3 and 145.2.4.
84-
PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145\u20133)
84+
PSE Pinout Alternatives (as per IEEE 802.3-2022 Table 145-3)
8585
|-----------|---------------|---------------|---------------|---------------|
8686
| Conductor | Alternative A | Alternative A | Alternative B | Alternative B |
8787
| | (MDI-X) | (MDI) | (X) | (S) |

MAINTAINERS

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -949,7 +949,6 @@ AMAZON ETHERNET DRIVERS
949949
M: Shay Agroskin <[email protected]>
950950
M: Arthur Kiyanovski <[email protected]>
951951
R: David Arinzon <[email protected]>
952-
R: Noam Dagan <[email protected]>
953952
R: Saeed Bishara <[email protected]>
954953
955954
S: Supported
@@ -2690,7 +2689,6 @@ N: at91
26902689
N: atmel
26912690

26922691
ARM/Microchip Sparx5 SoC support
2693-
M: Lars Povlsen <[email protected]>
26942692
M: Steen Hegelund <[email protected]>
26952693
M: Daniel Machon <[email protected]>
26962694
@@ -4058,7 +4056,6 @@ F: net/bluetooth/
40584056

40594057
BONDING DRIVER
40604058
M: Jay Vosburgh <[email protected]>
4061-
M: Andy Gospodarek <[email protected]>
40624059
40634060
S: Maintained
40644061
F: Documentation/networking/bonding.rst
@@ -14566,7 +14563,6 @@ F: drivers/dma/mediatek/
1456614563
MEDIATEK ETHERNET DRIVER
1456714564
M: Felix Fietkau <[email protected]>
1456814565
M: Sean Wang <[email protected]>
14569-
M: Mark Lee <[email protected]>
1457014566
M: Lorenzo Bianconi <[email protected]>
1457114567
1457214568
S: Maintained
@@ -22503,11 +22499,8 @@ F: Documentation/devicetree/bindings/phy/st,stm32mp25-combophy.yaml
2250322499
F: drivers/phy/st/phy-stm32-combophy.c
2250422500

2250522501
STMMAC ETHERNET DRIVER
22506-
M: Alexandre Torgue <[email protected]>
22507-
M: Jose Abreu <[email protected]>
2250822502
22509-
S: Supported
22510-
W: http://www.stlinux.com
22503+
S: Orphan
2251122504
F: Documentation/networking/device_drivers/ethernet/stmicro/
2251222505
F: drivers/net/ethernet/stmicro/stmmac/
2251322506

@@ -22739,9 +22732,8 @@ S: Supported
2273922732
F: drivers/net/ethernet/synopsys/
2274022733

2274122734
SYNOPSYS DESIGNWARE ETHERNET XPCS DRIVER
22742-
M: Jose Abreu <[email protected]>
2274322735
22744-
S: Supported
22736+
S: Orphan
2274522737
F: drivers/net/pcs/pcs-xpcs.c
2274622738
F: drivers/net/pcs/pcs-xpcs.h
2274722739
F: include/linux/pcs/pcs-xpcs.h
@@ -23649,7 +23641,6 @@ F: tools/testing/selftests/timers/
2364923641

2365023642
TIPC NETWORK LAYER
2365123643
M: Jon Maloy <[email protected]>
23652-
M: Ying Xue <[email protected]>
2365323644
L: [email protected] (core kernel code)
2365423645
L: [email protected] (user apps, general discussion)
2365523646
S: Maintained
@@ -24255,7 +24246,8 @@ F: Documentation/devicetree/bindings/usb/nxp,isp1760.yaml
2425524246
F: drivers/usb/isp1760/*
2425624247

2425724248
USB LAN78XX ETHERNET DRIVER
24258-
M: Woojung Huh <[email protected]>
24249+
M: Thangaraj Samynathan <[email protected]>
24250+
M: Rengarajan Sundararajan <[email protected]>
2425924251
2426024252
2426124253
S: Maintained

drivers/bluetooth/btmtk.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,10 +1472,15 @@ EXPORT_SYMBOL_GPL(btmtk_usb_setup);
14721472

14731473
int btmtk_usb_shutdown(struct hci_dev *hdev)
14741474
{
1475+
struct btmtk_data *data = hci_get_priv(hdev);
14751476
struct btmtk_hci_wmt_params wmt_params;
14761477
u8 param = 0;
14771478
int err;
14781479

1480+
err = usb_autopm_get_interface(data->intf);
1481+
if (err < 0)
1482+
return err;
1483+
14791484
/* Disable the device */
14801485
wmt_params.op = BTMTK_WMT_FUNC_CTRL;
14811486
wmt_params.flag = 0;
@@ -1486,9 +1491,11 @@ int btmtk_usb_shutdown(struct hci_dev *hdev)
14861491
err = btmtk_usb_hci_wmt_sync(hdev, &wmt_params);
14871492
if (err < 0) {
14881493
bt_dev_err(hdev, "Failed to send wmt func ctrl (%d)", err);
1494+
usb_autopm_put_interface(data->intf);
14891495
return err;
14901496
}
14911497

1498+
usb_autopm_put_interface(data->intf);
14921499
return 0;
14931500
}
14941501
EXPORT_SYMBOL_GPL(btmtk_usb_shutdown);

drivers/bluetooth/btnxpuart.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,6 +1381,7 @@ static void btnxpuart_tx_work(struct work_struct *work)
13811381

13821382
while ((skb = nxp_dequeue(nxpdev))) {
13831383
len = serdev_device_write_buf(serdev, skb->data, skb->len);
1384+
serdev_device_wait_until_sent(serdev, 0);
13841385
hdev->stat.byte_tx += len;
13851386

13861387
skb_pull(skb, len);

drivers/net/ethernet/amd/pds_core/devlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ int pdsc_dl_info_get(struct devlink *dl, struct devlink_info_req *req,
118118
if (err && err != -EIO)
119119
return err;
120120

121-
listlen = fw_list.num_fw_slots;
121+
listlen = min(fw_list.num_fw_slots, ARRAY_SIZE(fw_list.fw_names));
122122
for (i = 0; i < listlen; i++) {
123123
if (i < ARRAY_SIZE(fw_slotnames))
124124
strscpy(buf, fw_slotnames[i], sizeof(buf));

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

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2897,6 +2897,13 @@ static int bnxt_hwrm_handler(struct bnxt *bp, struct tx_cmp *txcmp)
28972897
return 0;
28982898
}
28992899

2900+
static bool bnxt_vnic_is_active(struct bnxt *bp)
2901+
{
2902+
struct bnxt_vnic_info *vnic = &bp->vnic_info[0];
2903+
2904+
return vnic->fw_vnic_id != INVALID_HW_RING_ID && vnic->mru > 0;
2905+
}
2906+
29002907
static irqreturn_t bnxt_msix(int irq, void *dev_instance)
29012908
{
29022909
struct bnxt_napi *bnapi = dev_instance;
@@ -3164,7 +3171,7 @@ static int bnxt_poll(struct napi_struct *napi, int budget)
31643171
break;
31653172
}
31663173
}
3167-
if (bp->flags & BNXT_FLAG_DIM) {
3174+
if ((bp->flags & BNXT_FLAG_DIM) && bnxt_vnic_is_active(bp)) {
31683175
struct dim_sample dim_sample = {};
31693176

31703177
dim_update_sample(cpr->event_ctr,
@@ -3295,7 +3302,7 @@ static int bnxt_poll_p5(struct napi_struct *napi, int budget)
32953302
poll_done:
32963303
cpr_rx = &cpr->cp_ring_arr[0];
32973304
if (cpr_rx->cp_ring_type == BNXT_NQ_HDL_TYPE_RX &&
3298-
(bp->flags & BNXT_FLAG_DIM)) {
3305+
(bp->flags & BNXT_FLAG_DIM) && bnxt_vnic_is_active(bp)) {
32993306
struct dim_sample dim_sample = {};
33003307

33013308
dim_update_sample(cpr->event_ctr,
@@ -7266,6 +7273,26 @@ static int bnxt_hwrm_ring_alloc(struct bnxt *bp)
72667273
return rc;
72677274
}
72687275

7276+
static void bnxt_cancel_dim(struct bnxt *bp)
7277+
{
7278+
int i;
7279+
7280+
/* DIM work is initialized in bnxt_enable_napi(). Proceed only
7281+
* if NAPI is enabled.
7282+
*/
7283+
if (!bp->bnapi || test_bit(BNXT_STATE_NAPI_DISABLED, &bp->state))
7284+
return;
7285+
7286+
/* Make sure NAPI sees that the VNIC is disabled */
7287+
synchronize_net();
7288+
for (i = 0; i < bp->rx_nr_rings; i++) {
7289+
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
7290+
struct bnxt_napi *bnapi = rxr->bnapi;
7291+
7292+
cancel_work_sync(&bnapi->cp_ring.dim.work);
7293+
}
7294+
}
7295+
72697296
static int hwrm_ring_free_send_msg(struct bnxt *bp,
72707297
struct bnxt_ring_struct *ring,
72717298
u32 ring_type, int cmpl_ring_id)
@@ -7366,6 +7393,7 @@ static void bnxt_hwrm_ring_free(struct bnxt *bp, bool close_path)
73667393
}
73677394
}
73687395

7396+
bnxt_cancel_dim(bp);
73697397
for (i = 0; i < bp->rx_nr_rings; i++) {
73707398
bnxt_hwrm_rx_ring_free(bp, &bp->rx_ring[i], close_path);
73717399
bnxt_hwrm_rx_agg_ring_free(bp, &bp->rx_ring[i], close_path);
@@ -11309,8 +11337,6 @@ static void bnxt_disable_napi(struct bnxt *bp)
1130911337
if (bnapi->in_reset)
1131011338
cpr->sw_stats->rx.rx_resets++;
1131111339
napi_disable(&bnapi->napi);
11312-
if (bnapi->rx_ring)
11313-
cancel_work_sync(&cpr->dim.work);
1131411340
}
1131511341
}
1131611342

@@ -15572,8 +15598,10 @@ static int bnxt_queue_stop(struct net_device *dev, void *qmem, int idx)
1557215598
bnxt_hwrm_vnic_update(bp, vnic,
1557315599
VNIC_UPDATE_REQ_ENABLES_MRU_VALID);
1557415600
}
15575-
15601+
/* Make sure NAPI sees that the VNIC is disabled */
15602+
synchronize_net();
1557615603
rxr = &bp->rx_ring[idx];
15604+
cancel_work_sync(&rxr->bnapi->cp_ring.dim.work);
1557715605
bnxt_hwrm_rx_ring_free(bp, rxr, false);
1557815606
bnxt_hwrm_rx_agg_ring_free(bp, rxr, false);
1557915607
rxr->rx_next_cons = 0;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ int bnxt_send_msg(struct bnxt_en_dev *edev,
208208

209209
rc = hwrm_req_replace(bp, req, fw_msg->msg, fw_msg->msg_len);
210210
if (rc)
211-
return rc;
211+
goto drop_req;
212212

213213
hwrm_req_timeout(bp, req, fw_msg->timeout);
214214
resp = hwrm_req_hold(bp, req);
@@ -220,6 +220,7 @@ int bnxt_send_msg(struct bnxt_en_dev *edev,
220220

221221
memcpy(fw_msg->resp, resp, resp_len);
222222
}
223+
drop_req:
223224
hwrm_req_drop(bp, req);
224225
return rc;
225226
}

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1799,7 +1799,10 @@ void cxgb4_remove_tid(struct tid_info *t, unsigned int chan, unsigned int tid,
17991799
struct adapter *adap = container_of(t, struct adapter, tids);
18001800
struct sk_buff *skb;
18011801

1802-
WARN_ON(tid_out_of_range(&adap->tids, tid));
1802+
if (tid_out_of_range(&adap->tids, tid)) {
1803+
dev_err(adap->pdev_dev, "tid %d out of range\n", tid);
1804+
return;
1805+
}
18031806

18041807
if (t->tid_tab[tid - adap->tids.tid_base]) {
18051808
t->tid_tab[tid - adap->tids.tid_base] = NULL;

drivers/net/ethernet/google/gve/gve_main.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2241,14 +2241,18 @@ static void gve_service_task(struct work_struct *work)
22412241

22422242
static void gve_set_netdev_xdp_features(struct gve_priv *priv)
22432243
{
2244+
xdp_features_t xdp_features;
2245+
22442246
if (priv->queue_format == GVE_GQI_QPL_FORMAT) {
2245-
priv->dev->xdp_features = NETDEV_XDP_ACT_BASIC;
2246-
priv->dev->xdp_features |= NETDEV_XDP_ACT_REDIRECT;
2247-
priv->dev->xdp_features |= NETDEV_XDP_ACT_NDO_XMIT;
2248-
priv->dev->xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
2247+
xdp_features = NETDEV_XDP_ACT_BASIC;
2248+
xdp_features |= NETDEV_XDP_ACT_REDIRECT;
2249+
xdp_features |= NETDEV_XDP_ACT_NDO_XMIT;
2250+
xdp_features |= NETDEV_XDP_ACT_XSK_ZEROCOPY;
22492251
} else {
2250-
priv->dev->xdp_features = 0;
2252+
xdp_features = 0;
22512253
}
2254+
2255+
xdp_set_features_flag(priv->dev, xdp_features);
22522256
}
22532257

22542258
static int gve_init_priv(struct gve_priv *priv, bool skip_describe_device)

0 commit comments

Comments
 (0)