Skip to content

Commit 48a23ec

Browse files
committed
Merge tag 'net-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Mostly driver fixes. Current release - regressions: - Revert "net: Add a second bind table hashed by port and address", needs more work - amd-xgbe: use platform_irq_count(), static setup of IRQ resources had been removed from DT core - dts: at91: ksz9477_evb: add phy-mode to fix port/phy validation Current release - new code bugs: - hns3: modify the ring param print info Previous releases - always broken: - axienet: make the 64b addressable DMA depends on 64b architectures - iavf: fix issue with MAC address of VF shown as zero - ice: fix PTP TX timestamp offset calculation - usb: ax88179_178a needs FLAG_SEND_ZLP Misc: - document some net.sctp.* sysctls" * tag 'net-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (31 commits) net: axienet: add missing error return code in axienet_probe() Revert "net: Add a second bind table hashed by port and address" net: ax25: Fix deadlock caused by skb_recv_datagram in ax25_recvmsg net: usb: ax88179_178a needs FLAG_SEND_ZLP MAINTAINERS: add include/dt-bindings/net to NETWORKING DRIVERS ARM: dts: at91: ksz9477_evb: fix port/phy validation net: bgmac: Fix an erroneous kfree() in bgmac_remove() ice: Fix memory corruption in VF driver ice: Fix queue config fail handling ice: Sync VLAN filtering features for DVM ice: Fix PTP TX timestamp offset calculation mlxsw: spectrum_cnt: Reorder counter pools docs: networking: phy: Fix a typo amd-xgbe: Use platform_irq_count() octeontx2-vf: Add support for adaptive interrupt coalescing xilinx: Fix build on x86. net: axienet: Use iowrite64 to write all 64b descriptor pointers net: axienet: make the 64b addresable DMA depends on 64b archectures net: hns3: fix tm port shapping of fibre port is incorrect after driver initialization net: hns3: fix PF rss size initialization bug ...
2 parents 30306f6 + 2e7bf4a commit 48a23ec

File tree

36 files changed

+433
-752
lines changed

36 files changed

+433
-752
lines changed

Documentation/networking/ip-sysctl.rst

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2925,6 +2925,43 @@ plpmtud_probe_interval - INTEGER
29252925

29262926
Default: 0
29272927

2928+
reconf_enable - BOOLEAN
2929+
Enable or disable extension of Stream Reconfiguration functionality
2930+
specified in RFC6525. This extension provides the ability to "reset"
2931+
a stream, and it includes the Parameters of "Outgoing/Incoming SSN
2932+
Reset", "SSN/TSN Reset" and "Add Outgoing/Incoming Streams".
2933+
2934+
- 1: Enable extension.
2935+
- 0: Disable extension.
2936+
2937+
Default: 0
2938+
2939+
intl_enable - BOOLEAN
2940+
Enable or disable extension of User Message Interleaving functionality
2941+
specified in RFC8260. This extension allows the interleaving of user
2942+
messages sent on different streams. With this feature enabled, I-DATA
2943+
chunk will replace DATA chunk to carry user messages if also supported
2944+
by the peer. Note that to use this feature, one needs to set this option
2945+
to 1 and also needs to set socket options SCTP_FRAGMENT_INTERLEAVE to 2
2946+
and SCTP_INTERLEAVING_SUPPORTED to 1.
2947+
2948+
- 1: Enable extension.
2949+
- 0: Disable extension.
2950+
2951+
Default: 0
2952+
2953+
ecn_enable - BOOLEAN
2954+
Control use of Explicit Congestion Notification (ECN) by SCTP.
2955+
Like in TCP, ECN is used only when both ends of the SCTP connection
2956+
indicate support for it. This feature is useful in avoiding losses
2957+
due to congestion by allowing supporting routers to signal congestion
2958+
before having to drop packets.
2959+
2960+
1: Enable ecn.
2961+
0: Disable ecn.
2962+
2963+
Default: 1
2964+
29282965

29292966
``/proc/sys/net/core/*``
29302967
========================

Documentation/networking/phy.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ Whenever possible, use the PHY side RGMII delay for these reasons:
104104

105105
* PHY device drivers in PHYLIB being reusable by nature, being able to
106106
configure correctly a specified delay enables more designs with similar delay
107-
requirements to be operate correctly
107+
requirements to be operated correctly
108108

109109
For cases where the PHY is not capable of providing this delay, but the
110110
Ethernet MAC driver is capable of doing so, the correct phy_interface_t value

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13800,6 +13800,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
1380013800
F: Documentation/devicetree/bindings/net/
1380113801
F: drivers/connector/
1380213802
F: drivers/net/
13803+
F: include/dt-bindings/net/
1380313804
F: include/linux/etherdevice.h
1380413805
F: include/linux/fcdevice.h
1380513806
F: include/linux/fddidevice.h

arch/arm/boot/dts/at91-sama5d3_ksz9477_evb.dts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,26 +120,31 @@
120120
port@0 {
121121
reg = <0>;
122122
label = "lan1";
123+
phy-mode = "internal";
123124
};
124125

125126
port@1 {
126127
reg = <1>;
127128
label = "lan2";
129+
phy-mode = "internal";
128130
};
129131

130132
port@2 {
131133
reg = <2>;
132134
label = "lan3";
135+
phy-mode = "internal";
133136
};
134137

135138
port@3 {
136139
reg = <3>;
137140
label = "lan4";
141+
phy-mode = "internal";
138142
};
139143

140144
port@4 {
141145
reg = <4>;
142146
label = "lan5";
147+
phy-mode = "internal";
143148
};
144149

145150
port@5 {

drivers/net/ethernet/amd/xgbe/xgbe-platform.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ static int xgbe_platform_probe(struct platform_device *pdev)
338338
* the PHY resources listed last
339339
*/
340340
phy_memnum = xgbe_resource_count(pdev, IORESOURCE_MEM) - 3;
341-
phy_irqnum = xgbe_resource_count(pdev, IORESOURCE_IRQ) - 1;
341+
phy_irqnum = platform_irq_count(pdev) - 1;
342342
dma_irqnum = 1;
343343
dma_irqend = phy_irqnum;
344344
} else {
@@ -348,7 +348,7 @@ static int xgbe_platform_probe(struct platform_device *pdev)
348348
phy_memnum = 0;
349349
phy_irqnum = 0;
350350
dma_irqnum = 1;
351-
dma_irqend = xgbe_resource_count(pdev, IORESOURCE_IRQ);
351+
dma_irqend = platform_irq_count(pdev);
352352
}
353353

354354
/* Obtain the mmio areas for the device */

drivers/net/ethernet/broadcom/bgmac-bcma.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,6 @@ static void bgmac_remove(struct bcma_device *core)
332332
bcma_mdio_mii_unregister(bgmac->mii_bus);
333333
bgmac_enet_remove(bgmac);
334334
bcma_set_drvdata(core, NULL);
335-
kfree(bgmac);
336335
}
337336

338337
static struct bcma_driver bgmac_bcma_driver = {

drivers/net/ethernet/hisilicon/hns3/hnae3.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,7 @@ struct hnae3_tc_info {
769769
u8 prio_tc[HNAE3_MAX_USER_PRIO]; /* TC indexed by prio */
770770
u16 tqp_count[HNAE3_MAX_TC];
771771
u16 tqp_offset[HNAE3_MAX_TC];
772+
u8 max_tc; /* Total number of TCs */
772773
u8 num_tc; /* Total number of enabled TCs */
773774
bool mqprio_active;
774775
};

drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1129,7 +1129,7 @@ hns3_is_ringparam_changed(struct net_device *ndev,
11291129
if (old_ringparam->tx_desc_num == new_ringparam->tx_desc_num &&
11301130
old_ringparam->rx_desc_num == new_ringparam->rx_desc_num &&
11311131
old_ringparam->rx_buf_len == new_ringparam->rx_buf_len) {
1132-
netdev_info(ndev, "ringparam not changed\n");
1132+
netdev_info(ndev, "descriptor number and rx buffer length not changed\n");
11331133
return false;
11341134
}
11351135

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3268,7 +3268,7 @@ static int hclge_tp_port_init(struct hclge_dev *hdev)
32683268
static int hclge_update_port_info(struct hclge_dev *hdev)
32693269
{
32703270
struct hclge_mac *mac = &hdev->hw.mac;
3271-
int speed = HCLGE_MAC_SPEED_UNKNOWN;
3271+
int speed;
32723272
int ret;
32733273

32743274
/* get the port info from SFP cmd if not copper port */
@@ -3279,10 +3279,13 @@ static int hclge_update_port_info(struct hclge_dev *hdev)
32793279
if (!hdev->support_sfp_query)
32803280
return 0;
32813281

3282-
if (hdev->ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V2)
3282+
if (hdev->ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V2) {
3283+
speed = mac->speed;
32833284
ret = hclge_get_sfp_info(hdev, mac);
3284-
else
3285+
} else {
3286+
speed = HCLGE_MAC_SPEED_UNKNOWN;
32853287
ret = hclge_get_sfp_speed(hdev, &speed);
3288+
}
32863289

32873290
if (ret == -EOPNOTSUPP) {
32883291
hdev->support_sfp_query = false;
@@ -3294,6 +3297,8 @@ static int hclge_update_port_info(struct hclge_dev *hdev)
32943297
if (hdev->ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V2) {
32953298
if (mac->speed_type == QUERY_ACTIVE_SPEED) {
32963299
hclge_update_port_capability(hdev, mac);
3300+
if (mac->speed != speed)
3301+
(void)hclge_tm_port_shaper_cfg(hdev);
32973302
return 0;
32983303
}
32993304
return hclge_cfg_mac_speed_dup(hdev, mac->speed,
@@ -3376,6 +3381,12 @@ static int hclge_set_vf_link_state(struct hnae3_handle *handle, int vf,
33763381
link_state_old = vport->vf_info.link_state;
33773382
vport->vf_info.link_state = link_state;
33783383

3384+
/* return success directly if the VF is unalive, VF will
3385+
* query link state itself when it starts work.
3386+
*/
3387+
if (!test_bit(HCLGE_VPORT_STATE_ALIVE, &vport->state))
3388+
return 0;
3389+
33793390
ret = hclge_push_vf_link_status(vport);
33803391
if (ret) {
33813392
vport->vf_info.link_state = link_state_old;
@@ -10117,6 +10128,7 @@ static int hclge_modify_port_base_vlan_tag(struct hclge_vport *vport,
1011710128
if (ret)
1011810129
return ret;
1011910130

10131+
vport->port_base_vlan_cfg.tbl_sta = false;
1012010132
/* remove old VLAN tag */
1012110133
if (old_info->vlan_tag == 0)
1012210134
ret = hclge_set_vf_vlan_common(hdev, vport->vport_id,

0 commit comments

Comments
 (0)