Skip to content

Commit 479a72c

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from David Miller: 1) Slave bond and team devices should not be assigned ipv6 link local addresses, from Jarod Wilson. 2) Fix clock sink config on some at803x PHY devices, from Oleksij Rempel. 3) Uninitialized stack space transmitted in slcan frames, fix from Richard Palethorpe. 4) Guard HW VLAN ops properly in stmmac driver, from Jose Abreu. 5) "=" --> "|=" fix in aquantia driver, from Colin Ian King. 6) Fix TCP fallback in mptcp, from Florian Westphal. (accessing a plain tcp_sk as if it were an mptcp socket). 7) Fix cavium driver in some configurations wrt. PTP, from Yue Haibing. 8) Make ipv6 and ipv4 consistent in the lower bound allowed for neighbour entry retrans_time, from Hangbin Liu. 9) Don't use private workqueue in pegasus usb driver, from Petko Manolov. 10) Fix integer overflow in mlxsw, from Colin Ian King. 11) Missing refcnt init in cls_tcindex, from Cong Wang. 12) One too many loop iterations when processing cmpri entries in ipv6 rpl code, from Alexander Aring. 13) Disable SG and TSO by default in r8169, from Heiner Kallweit. 14) NULL deref in macsec, from Davide Caratti. * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (42 commits) macsec: fix NULL dereference in macsec_upd_offload() skbuff.h: Improve the checksum related comments net: dsa: bcm_sf2: Ensure correct sub-node is parsed qed: remove redundant assignment to variable 'rc' wimax: remove some redundant assignments to variable result mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_PRIORITY r8169: change back SG and TSO to be disabled by default net: dsa: bcm_sf2: Do not register slave MDIO bus with OF ipv6: rpl: fix loop iteration tun: Don't put_page() for all negative return values from XDP program net: dsa: mt7530: fix null pointer dereferencing in port5 setup mptcp: add some missing pr_fmt defines net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers net_sched: fix a missing refcnt in tcindex_init() net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting mlxsw: spectrum_trap: fix unintention integer overflow on left shift pegasus: Remove pegasus' own workqueue neigh: support smaller retrans_time settting net: openvswitch: use hlist_for_each_entry_rcu instead of hlist_for_each_entry ...
2 parents 07d6f6d + aa81700 commit 479a72c

File tree

43 files changed

+361
-163
lines changed

Some content is hidden

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

43 files changed

+361
-163
lines changed

Documentation/devicetree/bindings/net/marvell,mvusb.yaml

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,28 +38,27 @@ required:
3838
examples:
3939
- |
4040
/* USB host controller */
41-
&usb1 {
42-
mvusb: mdio@1 {
41+
usb {
42+
#address-cells = <1>;
43+
#size-cells = <0>;
44+
45+
mdio@1 {
4346
compatible = "usb1286,1fa4";
4447
reg = <1>;
4548
#address-cells = <1>;
4649
#size-cells = <0>;
47-
};
48-
};
4950
50-
/* MV88E6390X devboard */
51-
&mvusb {
52-
switch@0 {
53-
compatible = "marvell,mv88e6190";
54-
status = "ok";
55-
reg = <0x0>;
51+
switch@0 {
52+
compatible = "marvell,mv88e6190";
53+
reg = <0x0>;
5654
57-
ports {
58-
/* Port definitions */
59-
};
55+
ports {
56+
/* Port definitions */
57+
};
6058
61-
mdio {
62-
/* PHY definitions */
59+
mdio {
60+
/* PHY definitions */
61+
};
6362
};
6463
};
6564
};

drivers/crypto/chelsio/chcr_ktls.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* Copyright (C) 2020 Chelsio Communications. All rights reserved. */
33

44
#ifdef CONFIG_CHELSIO_TLS_DEVICE
5+
#include <linux/highmem.h>
56
#include "chcr_ktls.h"
67
#include "clip_tbl.h"
78

drivers/net/can/slcan.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ static void slc_bump(struct slcan *sl)
148148
u32 tmpid;
149149
char *cmd = sl->rbuff;
150150

151-
cf.can_id = 0;
151+
memset(&cf, 0, sizeof(cf));
152152

153153
switch (*cmd) {
154154
case 'r':
@@ -187,8 +187,6 @@ static void slc_bump(struct slcan *sl)
187187
else
188188
return;
189189

190-
*(u64 *) (&cf.data) = 0; /* clear payload */
191-
192190
/* RTR frames may have a dlc > 0 but they never have any data bytes */
193191
if (!(cf.can_id & CAN_RTR_FLAG)) {
194192
for (i = 0; i < cf.can_dlc; i++) {

drivers/net/dsa/bcm_sf2.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ static int bcm_sf2_mdio_register(struct dsa_switch *ds)
480480
priv->slave_mii_bus->parent = ds->dev->parent;
481481
priv->slave_mii_bus->phy_mask = ~priv->indir_phy_mask;
482482

483-
err = of_mdiobus_register(priv->slave_mii_bus, dn);
483+
err = mdiobus_register(priv->slave_mii_bus);
484484
if (err && dn)
485485
of_node_put(dn);
486486

@@ -1079,6 +1079,7 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
10791079
const struct bcm_sf2_of_data *data;
10801080
struct b53_platform_data *pdata;
10811081
struct dsa_switch_ops *ops;
1082+
struct device_node *ports;
10821083
struct bcm_sf2_priv *priv;
10831084
struct b53_device *dev;
10841085
struct dsa_switch *ds;
@@ -1146,7 +1147,11 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
11461147
set_bit(0, priv->cfp.used);
11471148
set_bit(0, priv->cfp.unique);
11481149

1149-
bcm_sf2_identify_ports(priv, dn->child);
1150+
ports = of_find_node_by_name(dn, "ports");
1151+
if (ports) {
1152+
bcm_sf2_identify_ports(priv, ports);
1153+
of_node_put(ports);
1154+
}
11501155

11511156
priv->irq0 = irq_of_parse_and_map(dn, 0);
11521157
priv->irq1 = irq_of_parse_and_map(dn, 1);

drivers/net/dsa/mt7530.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,6 +1403,9 @@ mt7530_setup(struct dsa_switch *ds)
14031403
continue;
14041404

14051405
phy_node = of_parse_phandle(mac_np, "phy-handle", 0);
1406+
if (!phy_node)
1407+
continue;
1408+
14061409
if (phy_node->parent == priv->dev->of_node->parent) {
14071410
ret = of_get_phy_mode(mac_np, &interface);
14081411
if (ret && ret != -ENODEV)

drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ get_ingress_preclass_record(struct aq_hw_s *hw,
491491
rec->snap[1] = packed_record[8] & 0xFF;
492492

493493
rec->llc = (packed_record[8] >> 8) & 0xFF;
494-
rec->llc = packed_record[9] << 8;
494+
rec->llc |= packed_record[9] << 8;
495495

496496
rec->mac_sa[0] = packed_record[10];
497497
rec->mac_sa[0] |= packed_record[11] << 16;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6874,7 +6874,8 @@ int bnx2x_link_update(struct link_params *params, struct link_vars *vars)
68746874
case PORT_HW_CFG_PHY_SELECTION_FIRST_PHY_PRIORITY:
68756875
/* In this option, the first PHY makes sure to pass the
68766876
* traffic through itself only.
6877-
* Its not clear how to reset the link on the second phy
6877+
* It's not clear how to reset the link on the second
6878+
* phy.
68786879
*/
68796880
active_external_phy = EXT_PHY1;
68806881
break;

drivers/net/ethernet/cavium/common/cavium_ptp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ struct cavium_ptp {
2424
struct ptp_clock *ptp_clock;
2525
};
2626

27-
#if IS_ENABLED(CONFIG_CAVIUM_PTP)
27+
#if IS_REACHABLE(CONFIG_CAVIUM_PTP)
2828

2929
struct cavium_ptp *cavium_ptp_get(void);
3030
void cavium_ptp_put(struct cavium_ptp *ptp);

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3132,7 +3132,6 @@ static int cxgb_set_mac_addr(struct net_device *dev, void *p)
31323132
return ret;
31333133

31343134
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
3135-
pi->xact_addr_filt = ret;
31363135
return 0;
31373136
}
31383137

@@ -6672,6 +6671,10 @@ static void shutdown_one(struct pci_dev *pdev)
66726671
if (adapter->port[i]->reg_state == NETREG_REGISTERED)
66736672
cxgb_close(adapter->port[i]);
66746673

6674+
rtnl_lock();
6675+
cxgb4_mqprio_stop_offload(adapter);
6676+
rtnl_unlock();
6677+
66756678
if (is_uld(adapter)) {
66766679
detach_ulds(adapter);
66776680
t4_uld_clean_up(adapter);

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ static void cxgb4_mqprio_free_hw_resources(struct net_device *dev)
301301
cxgb4_clear_msix_aff(eorxq->msix->vec,
302302
eorxq->msix->aff_mask);
303303
free_irq(eorxq->msix->vec, &eorxq->rspq);
304+
cxgb4_free_msix_idx_in_bmap(adap, eorxq->msix->idx);
304305
}
305306

306307
free_rspq_fl(adap, &eorxq->rspq, &eorxq->fl);
@@ -611,6 +612,28 @@ int cxgb4_setup_tc_mqprio(struct net_device *dev,
611612
return ret;
612613
}
613614

615+
void cxgb4_mqprio_stop_offload(struct adapter *adap)
616+
{
617+
struct cxgb4_tc_port_mqprio *tc_port_mqprio;
618+
struct net_device *dev;
619+
u8 i;
620+
621+
if (!adap->tc_mqprio || !adap->tc_mqprio->port_mqprio)
622+
return;
623+
624+
for_each_port(adap, i) {
625+
dev = adap->port[i];
626+
if (!dev)
627+
continue;
628+
629+
tc_port_mqprio = &adap->tc_mqprio->port_mqprio[i];
630+
if (!tc_port_mqprio->mqprio.qopt.num_tc)
631+
continue;
632+
633+
cxgb4_mqprio_disable_offload(dev);
634+
}
635+
}
636+
614637
int cxgb4_init_tc_mqprio(struct adapter *adap)
615638
{
616639
struct cxgb4_tc_port_mqprio *tc_port_mqprio, *port_mqprio;

0 commit comments

Comments
 (0)