Skip to content

Commit b2bc47e

Browse files
committed
Merge tag 'net-6.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from CAN and WPAN. Still quite a few bugs from this release. This pull is a bit smaller because major subtrees went into the previous one. Or maybe people took spring break off? Current release - regressions: - phy: micrel: correct KSZ9131RNX EEE capabilities and advertisement Current release - new code bugs: - eth: wangxun: fix vector length of interrupt cause - vsock/loopback: consistently protect the packet queue with sk_buff_head.lock - virtio/vsock: fix header length on skb merging - wpan: ca8210: fix unsigned mac_len comparison with zero Previous releases - regressions: - eth: stmmac: don't reject VLANs when IFF_PROMISC is set - eth: smsc911x: avoid PHY being resumed when interface is not up - eth: mtk_eth_soc: fix tx throughput regression with direct 1G links - eth: bnx2x: use the right build_skb() helper after core rework - wwan: iosm: fix 7560 modem crash on use on unsupported channel Previous releases - always broken: - eth: sfc: don't overwrite offload features at NIC reset - eth: r8169: fix RTL8168H and RTL8107E rx crc error - can: j1939: prevent deadlock by moving j1939_sk_errqueue() - virt: vmxnet3: use GRO callback when UPT is enabled - virt: xen: don't do grant copy across page boundary - phy: dp83869: fix default value for tx-/rx-internal-delay - dsa: ksz8: fix multiple issues with ksz8_fdb_dump - eth: mvpp2: fix classification/RSS of VLAN and fragmented packets - eth: mtk_eth_soc: fix flow block refcounting logic Misc: - constify fwnode pointers in SFP handling" * tag 'net-6.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (55 commits) net: ethernet: mtk_eth_soc: add missing ppe cache flush when deleting a flow net: ethernet: mtk_eth_soc: fix L2 offloading with DSA untag offload net: ethernet: mtk_eth_soc: fix flow block refcounting logic net: mvneta: fix potential double-frees in mvneta_txq_sw_deinit() net: dsa: sync unicast and multicast addresses for VLAN filters too net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only xen/netback: use same error messages for same errors test/vsock: new skbuff appending test virtio/vsock: WARN_ONCE() for invalid state of socket virtio/vsock: fix header length on skb merging bnxt_en: Add missing 200G link speed reporting bnxt_en: Fix typo in PCI id to device description string mapping bnxt_en: Fix reporting of test result in ethtool selftest i40e: fix registers dump after run ethtool adapter self test bnx2x: use the right build_skb() helper net: ipa: compute DMA pool size properly net: wwan: iosm: fixes 7560 modem crash net: ethernet: mtk_eth_soc: fix tx throughput regression with direct 1G links ice: fix invalid check for empty list in ice_sched_assoc_vsi_to_agg() ice: add profile conflict check for AVF FDIR ...
2 parents b527ac4 + 9245313 commit b2bc47e

Some content is hidden

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

54 files changed

+567
-262
lines changed

MAINTAINERS

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8216,6 +8216,7 @@ F: drivers/net/ethernet/freescale/dpaa
82168216

82178217
FREESCALE QORIQ DPAA FMAN DRIVER
82188218
M: Madalin Bucur <[email protected]>
8219+
R: Sean Anderson <[email protected]>
82198220
82208221
S: Maintained
82218222
F: Documentation/devicetree/bindings/net/fsl-fman.txt
@@ -14656,10 +14657,8 @@ F: net/ipv4/nexthop.c
1465614657

1465714658
NFC SUBSYSTEM
1465814659
M: Krzysztof Kozlowski <[email protected]>
14659-
L: [email protected] (subscribers-only)
1466014660
1466114661
S: Maintained
14662-
1466314662
F: Documentation/devicetree/bindings/net/nfc/
1466414663
F: drivers/nfc/
1466514664
F: include/linux/platform_data/nfcmrvl.h
@@ -14670,7 +14669,6 @@ F: net/nfc/
1467014669
NFC VIRTUAL NCI DEVICE DRIVER
1467114670
M: Bongsu Jeon <[email protected]>
1467214671
14673-
L: [email protected] (subscribers-only)
1467414672
S: Supported
1467514673
F: drivers/nfc/virtual_ncidev.c
1467614674
F: tools/testing/selftests/nci/
@@ -15042,7 +15040,6 @@ F: Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml
1504215040
F: sound/soc/codecs/tfa989x.c
1504315041

1504415042
NXP-NCI NFC DRIVER
15045-
L: [email protected] (subscribers-only)
1504615043
S: Orphan
1504715044
F: Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml
1504815045
F: drivers/nfc/nxp-nci
@@ -18487,7 +18484,6 @@ F: include/media/drv-intf/s3c_camif.h
1848718484

1848818485
SAMSUNG S3FWRN5 NFC DRIVER
1848918486
M: Krzysztof Kozlowski <[email protected]>
18490-
L: [email protected] (subscribers-only)
1849118487
S: Maintained
1849218488
F: Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
1849318489
F: drivers/nfc/s3fwrn5
@@ -20980,7 +20976,6 @@ F: drivers/iio/magnetometer/tmag5273.c
2098020976
TI TRF7970A NFC DRIVER
2098120977
M: Mark Greer <[email protected]>
2098220978
20983-
L: [email protected] (subscribers-only)
2098420979
S: Supported
2098520980
F: Documentation/devicetree/bindings/net/nfc/ti,trf7970a.yaml
2098620981
F: drivers/nfc/trf7970a.c

drivers/net/dsa/b53/b53_mmap.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,18 @@ static int b53_mmap_write64(struct b53_device *dev, u8 page, u8 reg,
216216
return 0;
217217
}
218218

219+
static int b53_mmap_phy_read16(struct b53_device *dev, int addr, int reg,
220+
u16 *value)
221+
{
222+
return -EIO;
223+
}
224+
225+
static int b53_mmap_phy_write16(struct b53_device *dev, int addr, int reg,
226+
u16 value)
227+
{
228+
return -EIO;
229+
}
230+
219231
static const struct b53_io_ops b53_mmap_ops = {
220232
.read8 = b53_mmap_read8,
221233
.read16 = b53_mmap_read16,
@@ -227,6 +239,8 @@ static const struct b53_io_ops b53_mmap_ops = {
227239
.write32 = b53_mmap_write32,
228240
.write48 = b53_mmap_write48,
229241
.write64 = b53_mmap_write64,
242+
.phy_read16 = b53_mmap_phy_read16,
243+
.phy_write16 = b53_mmap_phy_write16,
230244
};
231245

232246
static int b53_mmap_probe_of(struct platform_device *pdev,

drivers/net/dsa/microchip/ksz8795.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -958,15 +958,14 @@ int ksz8_fdb_dump(struct ksz_device *dev, int port,
958958
u16 entries = 0;
959959
u8 timestamp = 0;
960960
u8 fid;
961-
u8 member;
962-
struct alu_struct alu;
961+
u8 src_port;
962+
u8 mac[ETH_ALEN];
963963

964964
do {
965-
alu.is_static = false;
966-
ret = ksz8_r_dyn_mac_table(dev, i, alu.mac, &fid, &member,
965+
ret = ksz8_r_dyn_mac_table(dev, i, mac, &fid, &src_port,
967966
&timestamp, &entries);
968-
if (!ret && (member & BIT(port))) {
969-
ret = cb(alu.mac, alu.fid, alu.is_static, data);
967+
if (!ret && port == src_port) {
968+
ret = cb(mac, fid, false, data);
970969
if (ret)
971970
break;
972971
}

drivers/net/dsa/microchip/ksz8863_smi.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,22 +82,16 @@ static const struct regmap_bus regmap_smi[] = {
8282
{
8383
.read = ksz8863_mdio_read,
8484
.write = ksz8863_mdio_write,
85-
.max_raw_read = 1,
86-
.max_raw_write = 1,
8785
},
8886
{
8987
.read = ksz8863_mdio_read,
9088
.write = ksz8863_mdio_write,
9189
.val_format_endian_default = REGMAP_ENDIAN_BIG,
92-
.max_raw_read = 2,
93-
.max_raw_write = 2,
9490
},
9591
{
9692
.read = ksz8863_mdio_read,
9793
.write = ksz8863_mdio_write,
9894
.val_format_endian_default = REGMAP_ENDIAN_BIG,
99-
.max_raw_read = 4,
100-
.max_raw_write = 4,
10195
}
10296
};
10397

@@ -108,7 +102,6 @@ static const struct regmap_config ksz8863_regmap_config[] = {
108102
.pad_bits = 24,
109103
.val_bits = 8,
110104
.cache_type = REGCACHE_NONE,
111-
.use_single_read = 1,
112105
.lock = ksz_regmap_lock,
113106
.unlock = ksz_regmap_unlock,
114107
},
@@ -118,7 +111,6 @@ static const struct regmap_config ksz8863_regmap_config[] = {
118111
.pad_bits = 24,
119112
.val_bits = 16,
120113
.cache_type = REGCACHE_NONE,
121-
.use_single_read = 1,
122114
.lock = ksz_regmap_lock,
123115
.unlock = ksz_regmap_unlock,
124116
},
@@ -128,7 +120,6 @@ static const struct regmap_config ksz8863_regmap_config[] = {
128120
.pad_bits = 24,
129121
.val_bits = 32,
130122
.cache_type = REGCACHE_NONE,
131-
.use_single_read = 1,
132123
.lock = ksz_regmap_lock,
133124
.unlock = ksz_regmap_unlock,
134125
}

drivers/net/dsa/microchip/ksz_common.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -404,13 +404,13 @@ static const u32 ksz8863_masks[] = {
404404
[VLAN_TABLE_VALID] = BIT(19),
405405
[STATIC_MAC_TABLE_VALID] = BIT(19),
406406
[STATIC_MAC_TABLE_USE_FID] = BIT(21),
407-
[STATIC_MAC_TABLE_FID] = GENMASK(29, 26),
407+
[STATIC_MAC_TABLE_FID] = GENMASK(25, 22),
408408
[STATIC_MAC_TABLE_OVERRIDE] = BIT(20),
409409
[STATIC_MAC_TABLE_FWD_PORTS] = GENMASK(18, 16),
410-
[DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(5, 0),
411-
[DYNAMIC_MAC_TABLE_MAC_EMPTY] = BIT(7),
410+
[DYNAMIC_MAC_TABLE_ENTRIES_H] = GENMASK(1, 0),
411+
[DYNAMIC_MAC_TABLE_MAC_EMPTY] = BIT(2),
412412
[DYNAMIC_MAC_TABLE_NOT_READY] = BIT(7),
413-
[DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 28),
413+
[DYNAMIC_MAC_TABLE_ENTRIES] = GENMASK(31, 24),
414414
[DYNAMIC_MAC_TABLE_FID] = GENMASK(19, 16),
415415
[DYNAMIC_MAC_TABLE_SRC_PORT] = GENMASK(21, 20),
416416
[DYNAMIC_MAC_TABLE_TIMESTAMP] = GENMASK(23, 22),
@@ -420,10 +420,10 @@ static u8 ksz8863_shifts[] = {
420420
[VLAN_TABLE_MEMBERSHIP_S] = 16,
421421
[STATIC_MAC_FWD_PORTS] = 16,
422422
[STATIC_MAC_FID] = 22,
423-
[DYNAMIC_MAC_ENTRIES_H] = 3,
423+
[DYNAMIC_MAC_ENTRIES_H] = 8,
424424
[DYNAMIC_MAC_ENTRIES] = 24,
425425
[DYNAMIC_MAC_FID] = 16,
426-
[DYNAMIC_MAC_TIMESTAMP] = 24,
426+
[DYNAMIC_MAC_TIMESTAMP] = 22,
427427
[DYNAMIC_MAC_SRC_PORT] = 20,
428428
};
429429

drivers/net/dsa/mv88e6xxx/chip.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3354,9 +3354,14 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port)
33543354
* If this is the upstream port for this switch, enable
33553355
* forwarding of unknown unicasts and multicasts.
33563356
*/
3357-
reg = MV88E6XXX_PORT_CTL0_IGMP_MLD_SNOOP |
3358-
MV88E6185_PORT_CTL0_USE_TAG | MV88E6185_PORT_CTL0_USE_IP |
3357+
reg = MV88E6185_PORT_CTL0_USE_TAG | MV88E6185_PORT_CTL0_USE_IP |
33593358
MV88E6XXX_PORT_CTL0_STATE_FORWARDING;
3359+
/* Forward any IPv4 IGMP or IPv6 MLD frames received
3360+
* by a USER port to the CPU port to allow snooping.
3361+
*/
3362+
if (dsa_is_user_port(ds, port))
3363+
reg |= MV88E6XXX_PORT_CTL0_IGMP_MLD_SNOOP;
3364+
33603365
err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_CTL0, reg);
33613366
if (err)
33623367
return err;

drivers/net/dsa/realtek/realtek-mdio.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
#include <linux/module.h>
2323
#include <linux/of_device.h>
24+
#include <linux/overflow.h>
2425
#include <linux/regmap.h>
2526

2627
#include "realtek.h"
@@ -152,7 +153,9 @@ static int realtek_mdio_probe(struct mdio_device *mdiodev)
152153
if (!var)
153154
return -EINVAL;
154155

155-
priv = devm_kzalloc(&mdiodev->dev, sizeof(*priv), GFP_KERNEL);
156+
priv = devm_kzalloc(&mdiodev->dev,
157+
size_add(sizeof(*priv), var->chip_data_sz),
158+
GFP_KERNEL);
156159
if (!priv)
157160
return -ENOMEM;
158161

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,18 @@ static int bnx2x_fill_frag_skb(struct bnx2x *bp, struct bnx2x_fastpath *fp,
672672
return 0;
673673
}
674674

675+
static struct sk_buff *
676+
bnx2x_build_skb(const struct bnx2x_fastpath *fp, void *data)
677+
{
678+
struct sk_buff *skb;
679+
680+
if (fp->rx_frag_size)
681+
skb = build_skb(data, fp->rx_frag_size);
682+
else
683+
skb = slab_build_skb(data);
684+
return skb;
685+
}
686+
675687
static void bnx2x_frag_free(const struct bnx2x_fastpath *fp, void *data)
676688
{
677689
if (fp->rx_frag_size)
@@ -779,7 +791,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp,
779791
dma_unmap_single(&bp->pdev->dev, dma_unmap_addr(rx_buf, mapping),
780792
fp->rx_buf_size, DMA_FROM_DEVICE);
781793
if (likely(new_data))
782-
skb = build_skb(data, fp->rx_frag_size);
794+
skb = bnx2x_build_skb(fp, data);
783795

784796
if (likely(skb)) {
785797
#ifdef BNX2X_STOP_ON_ERROR
@@ -1046,7 +1058,7 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
10461058
dma_unmap_addr(rx_buf, mapping),
10471059
fp->rx_buf_size,
10481060
DMA_FROM_DEVICE);
1049-
skb = build_skb(data, fp->rx_frag_size);
1061+
skb = bnx2x_build_skb(fp, data);
10501062
if (unlikely(!skb)) {
10511063
bnx2x_frag_free(fp, data);
10521064
bnx2x_fp_qstats(bp, fp)->

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,12 @@ static const struct pci_device_id bnxt_pci_tbl[] = {
175175
{ PCI_VDEVICE(BROADCOM, 0x1750), .driver_data = BCM57508 },
176176
{ PCI_VDEVICE(BROADCOM, 0x1751), .driver_data = BCM57504 },
177177
{ PCI_VDEVICE(BROADCOM, 0x1752), .driver_data = BCM57502 },
178-
{ PCI_VDEVICE(BROADCOM, 0x1800), .driver_data = BCM57508_NPAR },
178+
{ PCI_VDEVICE(BROADCOM, 0x1800), .driver_data = BCM57502_NPAR },
179179
{ PCI_VDEVICE(BROADCOM, 0x1801), .driver_data = BCM57504_NPAR },
180-
{ PCI_VDEVICE(BROADCOM, 0x1802), .driver_data = BCM57502_NPAR },
181-
{ PCI_VDEVICE(BROADCOM, 0x1803), .driver_data = BCM57508_NPAR },
180+
{ PCI_VDEVICE(BROADCOM, 0x1802), .driver_data = BCM57508_NPAR },
181+
{ PCI_VDEVICE(BROADCOM, 0x1803), .driver_data = BCM57502_NPAR },
182182
{ PCI_VDEVICE(BROADCOM, 0x1804), .driver_data = BCM57504_NPAR },
183-
{ PCI_VDEVICE(BROADCOM, 0x1805), .driver_data = BCM57502_NPAR },
183+
{ PCI_VDEVICE(BROADCOM, 0x1805), .driver_data = BCM57508_NPAR },
184184
{ PCI_VDEVICE(BROADCOM, 0xd802), .driver_data = BCM58802 },
185185
{ PCI_VDEVICE(BROADCOM, 0xd804), .driver_data = BCM58804 },
186186
#ifdef CONFIG_BNXT_SRIOV

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,6 +1226,7 @@ struct bnxt_link_info {
12261226
#define BNXT_LINK_SPEED_40GB PORT_PHY_QCFG_RESP_LINK_SPEED_40GB
12271227
#define BNXT_LINK_SPEED_50GB PORT_PHY_QCFG_RESP_LINK_SPEED_50GB
12281228
#define BNXT_LINK_SPEED_100GB PORT_PHY_QCFG_RESP_LINK_SPEED_100GB
1229+
#define BNXT_LINK_SPEED_200GB PORT_PHY_QCFG_RESP_LINK_SPEED_200GB
12291230
u16 support_speeds;
12301231
u16 support_pam4_speeds;
12311232
u16 auto_link_speeds; /* fw adv setting */

0 commit comments

Comments
 (0)