Skip to content

Commit 7058b83

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from David Miller: 1) Fix leak in nl80211 AP start where we leak the ACL memory, from Johannes Berg. 2) Fix double mutex unlock in mac80211, from Andrei Otcheretianski. 3) Fix RCU stall in ipset, from Jozsef Kadlecsik. 4) Fix devlink locking in devlink_dpipe_table_register, from Madhuparna Bhowmik. 5) Fix race causing TX hang in ll_temac, from Esben Haabendal. 6) Stale eth hdr pointer in br_dev_xmit(), from Nikolay Aleksandrov. 7) Fix TX hash calculation bounds checking wrt. tc rules, from Amritha Nambiar. 8) Size netlink responses properly in schedule action code to take into consideration TCA_ACT_FLAGS. From Jiri Pirko. 9) Fix firmware paths for mscc PHY driver, from Antoine Tenart. 10) Don't register stmmac notifier multiple times, from Aaro Koskinen. 11) Various rmnet bug fixes, from Taehee Yoo. 12) Fix vsock deadlock in vsock transport release, from Stefano Garzarella. * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (61 commits) net: dsa: mv88e6xxx: Fix masking of egress port mlxsw: pci: Wait longer before accessing the device after reset sfc: fix timestamp reconstruction at 16-bit rollover points vsock: fix potential deadlock in transport->release() unix: It's CONFIG_PROC_FS not CONFIG_PROCFS net: rmnet: fix packet forwarding in rmnet bridge mode net: rmnet: fix bridge mode bugs net: rmnet: use upper/lower device infrastructure net: rmnet: do not allow to change mux id if mux id is duplicated net: rmnet: remove rcu_read_lock in rmnet_force_unassociate_device() net: rmnet: fix suspicious RCU usage net: rmnet: fix NULL pointer dereference in rmnet_changelink() net: rmnet: fix NULL pointer dereference in rmnet_newlink() net: phy: marvell: don't interpret PHY status unless resolved mlx5: register lag notifier for init network namespace only unix: define and set show_fdinfo only if procfs is enabled hinic: fix a bug of rss configuration hinic: fix a bug of setting hw_ioctxt hinic: fix a irq affinity bug net/smc: check for valid ib_client_data ...
2 parents a2f0b87 + 3ee339e commit 7058b83

Some content is hidden

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

70 files changed

+1062
-536
lines changed

Documentation/networking/phy.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -487,8 +487,9 @@ phy_register_fixup_for_id()::
487487
The stubs set one of the two matching criteria, and set the other one to
488488
match anything.
489489

490-
When phy_register_fixup() or \*_for_uid()/\*_for_id() is called at module,
491-
unregister fixup and free allocate memory are required.
490+
When phy_register_fixup() or \*_for_uid()/\*_for_id() is called at module load
491+
time, the module needs to unregister the fixup and free allocated memory when
492+
it's unloaded.
492493

493494
Call one of following function before unloading module::
494495

drivers/net/dsa/bcm_sf2.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)
6969
/* Force link status for IMP port */
7070
reg = core_readl(priv, offset);
7171
reg |= (MII_SW_OR | LINK_STS);
72-
if (priv->type == BCM7278_DEVICE_ID)
73-
reg |= GMII_SPEED_UP_2G;
72+
reg &= ~GMII_SPEED_UP_2G;
7473
core_writel(priv, reg, offset);
7574

7675
/* Enable Broadcast, Multicast, Unicast forwarding to IMP port */

drivers/net/dsa/mv88e6xxx/global1.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,13 +278,13 @@ int mv88e6095_g1_set_egress_port(struct mv88e6xxx_chip *chip,
278278
switch (direction) {
279279
case MV88E6XXX_EGRESS_DIR_INGRESS:
280280
dest_port_chip = &chip->ingress_dest_port;
281-
reg &= MV88E6185_G1_MONITOR_CTL_INGRESS_DEST_MASK;
281+
reg &= ~MV88E6185_G1_MONITOR_CTL_INGRESS_DEST_MASK;
282282
reg |= port <<
283283
__bf_shf(MV88E6185_G1_MONITOR_CTL_INGRESS_DEST_MASK);
284284
break;
285285
case MV88E6XXX_EGRESS_DIR_EGRESS:
286286
dest_port_chip = &chip->egress_dest_port;
287-
reg &= MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK;
287+
reg &= ~MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK;
288288
reg |= port <<
289289
__bf_shf(MV88E6185_G1_MONITOR_CTL_EGRESS_DEST_MASK);
290290
break;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11252,7 +11252,7 @@ static void bnxt_cfg_ntp_filters(struct bnxt *bp)
1125211252
}
1125311253
}
1125411254
if (test_and_clear_bit(BNXT_HWRM_PF_UNLOAD_SP_EVENT, &bp->sp_event))
11255-
netdev_info(bp->dev, "Receive PF driver unload event!");
11255+
netdev_info(bp->dev, "Receive PF driver unload event!\n");
1125611256
}
1125711257

1125811258
#else
@@ -11759,7 +11759,7 @@ static int bnxt_pcie_dsn_get(struct bnxt *bp, u8 dsn[])
1175911759
u32 dw;
1176011760

1176111761
if (!pos) {
11762-
netdev_info(bp->dev, "Unable do read adapter's DSN");
11762+
netdev_info(bp->dev, "Unable do read adapter's DSN\n");
1176311763
return -EOPNOTSUPP;
1176411764
}
1176511765

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -641,14 +641,14 @@ static int bnxt_dl_params_register(struct bnxt *bp)
641641
rc = devlink_params_register(bp->dl, bnxt_dl_params,
642642
ARRAY_SIZE(bnxt_dl_params));
643643
if (rc) {
644-
netdev_warn(bp->dev, "devlink_params_register failed. rc=%d",
644+
netdev_warn(bp->dev, "devlink_params_register failed. rc=%d\n",
645645
rc);
646646
return rc;
647647
}
648648
rc = devlink_port_params_register(&bp->dl_port, bnxt_dl_port_params,
649649
ARRAY_SIZE(bnxt_dl_port_params));
650650
if (rc) {
651-
netdev_err(bp->dev, "devlink_port_params_register failed");
651+
netdev_err(bp->dev, "devlink_port_params_register failed\n");
652652
devlink_params_unregister(bp->dl, bnxt_dl_params,
653653
ARRAY_SIZE(bnxt_dl_params));
654654
return rc;
@@ -679,7 +679,7 @@ int bnxt_dl_register(struct bnxt *bp)
679679
else
680680
dl = devlink_alloc(&bnxt_vf_dl_ops, sizeof(struct bnxt_dl));
681681
if (!dl) {
682-
netdev_warn(bp->dev, "devlink_alloc failed");
682+
netdev_warn(bp->dev, "devlink_alloc failed\n");
683683
return -ENOMEM;
684684
}
685685

@@ -692,7 +692,7 @@ int bnxt_dl_register(struct bnxt *bp)
692692

693693
rc = devlink_register(dl, &bp->pdev->dev);
694694
if (rc) {
695-
netdev_warn(bp->dev, "devlink_register failed. rc=%d", rc);
695+
netdev_warn(bp->dev, "devlink_register failed. rc=%d\n", rc);
696696
goto err_dl_free;
697697
}
698698

@@ -704,7 +704,7 @@ int bnxt_dl_register(struct bnxt *bp)
704704
sizeof(bp->dsn));
705705
rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id);
706706
if (rc) {
707-
netdev_err(bp->dev, "devlink_port_register failed");
707+
netdev_err(bp->dev, "devlink_port_register failed\n");
708708
goto err_dl_unreg;
709709
}
710710

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2028,7 +2028,7 @@ int bnxt_flash_package_from_file(struct net_device *dev, const char *filename,
20282028
}
20292029

20302030
if (fw->size > item_len) {
2031-
netdev_err(dev, "PKG insufficient update area in nvram: %lu",
2031+
netdev_err(dev, "PKG insufficient update area in nvram: %lu\n",
20322032
(unsigned long)fw->size);
20332033
rc = -EFBIG;
20342034
} else {
@@ -3338,7 +3338,7 @@ static int bnxt_get_coredump(struct bnxt *bp, void *buf, u32 *dump_len)
33383338
kfree(coredump.data);
33393339
*dump_len += sizeof(struct bnxt_coredump_record);
33403340
if (rc == -ENOBUFS)
3341-
netdev_err(bp->dev, "Firmware returned large coredump buffer");
3341+
netdev_err(bp->dev, "Firmware returned large coredump buffer\n");
33423342
return rc;
33433343
}
33443344

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

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static u16 bnxt_flow_get_dst_fid(struct bnxt *pf_bp, struct net_device *dev)
5050

5151
/* check if dev belongs to the same switch */
5252
if (!netdev_port_same_parent_id(pf_bp->dev, dev)) {
53-
netdev_info(pf_bp->dev, "dev(ifindex=%d) not on same switch",
53+
netdev_info(pf_bp->dev, "dev(ifindex=%d) not on same switch\n",
5454
dev->ifindex);
5555
return BNXT_FID_INVALID;
5656
}
@@ -70,7 +70,7 @@ static int bnxt_tc_parse_redir(struct bnxt *bp,
7070
struct net_device *dev = act->dev;
7171

7272
if (!dev) {
73-
netdev_info(bp->dev, "no dev in mirred action");
73+
netdev_info(bp->dev, "no dev in mirred action\n");
7474
return -EINVAL;
7575
}
7676

@@ -106,7 +106,7 @@ static int bnxt_tc_parse_tunnel_set(struct bnxt *bp,
106106
const struct ip_tunnel_key *tun_key = &tun_info->key;
107107

108108
if (ip_tunnel_info_af(tun_info) != AF_INET) {
109-
netdev_info(bp->dev, "only IPv4 tunnel-encap is supported");
109+
netdev_info(bp->dev, "only IPv4 tunnel-encap is supported\n");
110110
return -EOPNOTSUPP;
111111
}
112112

@@ -295,7 +295,7 @@ static int bnxt_tc_parse_actions(struct bnxt *bp,
295295
int i, rc;
296296

297297
if (!flow_action_has_entries(flow_action)) {
298-
netdev_info(bp->dev, "no actions");
298+
netdev_info(bp->dev, "no actions\n");
299299
return -EINVAL;
300300
}
301301

@@ -370,7 +370,7 @@ static int bnxt_tc_parse_flow(struct bnxt *bp,
370370
/* KEY_CONTROL and KEY_BASIC are needed for forming a meaningful key */
371371
if ((dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) == 0 ||
372372
(dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_BASIC)) == 0) {
373-
netdev_info(bp->dev, "cannot form TC key: used_keys = 0x%x",
373+
netdev_info(bp->dev, "cannot form TC key: used_keys = 0x%x\n",
374374
dissector->used_keys);
375375
return -EOPNOTSUPP;
376376
}
@@ -508,7 +508,7 @@ static int bnxt_hwrm_cfa_flow_free(struct bnxt *bp,
508508

509509
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
510510
if (rc)
511-
netdev_info(bp->dev, "%s: Error rc=%d", __func__, rc);
511+
netdev_info(bp->dev, "%s: Error rc=%d\n", __func__, rc);
512512

513513
return rc;
514514
}
@@ -841,7 +841,7 @@ static int hwrm_cfa_decap_filter_alloc(struct bnxt *bp,
841841
resp = bnxt_get_hwrm_resp_addr(bp, &req);
842842
*decap_filter_handle = resp->decap_filter_id;
843843
} else {
844-
netdev_info(bp->dev, "%s: Error rc=%d", __func__, rc);
844+
netdev_info(bp->dev, "%s: Error rc=%d\n", __func__, rc);
845845
}
846846
mutex_unlock(&bp->hwrm_cmd_lock);
847847

@@ -859,7 +859,7 @@ static int hwrm_cfa_decap_filter_free(struct bnxt *bp,
859859

860860
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
861861
if (rc)
862-
netdev_info(bp->dev, "%s: Error rc=%d", __func__, rc);
862+
netdev_info(bp->dev, "%s: Error rc=%d\n", __func__, rc);
863863

864864
return rc;
865865
}
@@ -906,7 +906,7 @@ static int hwrm_cfa_encap_record_alloc(struct bnxt *bp,
906906
resp = bnxt_get_hwrm_resp_addr(bp, &req);
907907
*encap_record_handle = resp->encap_record_id;
908908
} else {
909-
netdev_info(bp->dev, "%s: Error rc=%d", __func__, rc);
909+
netdev_info(bp->dev, "%s: Error rc=%d\n", __func__, rc);
910910
}
911911
mutex_unlock(&bp->hwrm_cmd_lock);
912912

@@ -924,7 +924,7 @@ static int hwrm_cfa_encap_record_free(struct bnxt *bp,
924924

925925
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
926926
if (rc)
927-
netdev_info(bp->dev, "%s: Error rc=%d", __func__, rc);
927+
netdev_info(bp->dev, "%s: Error rc=%d\n", __func__, rc);
928928

929929
return rc;
930930
}
@@ -943,7 +943,7 @@ static int bnxt_tc_put_l2_node(struct bnxt *bp,
943943
tc_info->l2_ht_params);
944944
if (rc)
945945
netdev_err(bp->dev,
946-
"Error: %s: rhashtable_remove_fast: %d",
946+
"Error: %s: rhashtable_remove_fast: %d\n",
947947
__func__, rc);
948948
kfree_rcu(l2_node, rcu);
949949
}
@@ -972,7 +972,7 @@ bnxt_tc_get_l2_node(struct bnxt *bp, struct rhashtable *l2_table,
972972
if (rc) {
973973
kfree_rcu(l2_node, rcu);
974974
netdev_err(bp->dev,
975-
"Error: %s: rhashtable_insert_fast: %d",
975+
"Error: %s: rhashtable_insert_fast: %d\n",
976976
__func__, rc);
977977
return NULL;
978978
}
@@ -1031,7 +1031,7 @@ static bool bnxt_tc_can_offload(struct bnxt *bp, struct bnxt_tc_flow *flow)
10311031
if ((flow->flags & BNXT_TC_FLOW_FLAGS_PORTS) &&
10321032
(flow->l4_key.ip_proto != IPPROTO_TCP &&
10331033
flow->l4_key.ip_proto != IPPROTO_UDP)) {
1034-
netdev_info(bp->dev, "Cannot offload non-TCP/UDP (%d) ports",
1034+
netdev_info(bp->dev, "Cannot offload non-TCP/UDP (%d) ports\n",
10351035
flow->l4_key.ip_proto);
10361036
return false;
10371037
}
@@ -1088,7 +1088,7 @@ static int bnxt_tc_put_tunnel_node(struct bnxt *bp,
10881088
rc = rhashtable_remove_fast(tunnel_table, &tunnel_node->node,
10891089
*ht_params);
10901090
if (rc) {
1091-
netdev_err(bp->dev, "rhashtable_remove_fast rc=%d", rc);
1091+
netdev_err(bp->dev, "rhashtable_remove_fast rc=%d\n", rc);
10921092
rc = -1;
10931093
}
10941094
kfree_rcu(tunnel_node, rcu);
@@ -1129,7 +1129,7 @@ bnxt_tc_get_tunnel_node(struct bnxt *bp, struct rhashtable *tunnel_table,
11291129
tunnel_node->refcount++;
11301130
return tunnel_node;
11311131
err:
1132-
netdev_info(bp->dev, "error rc=%d", rc);
1132+
netdev_info(bp->dev, "error rc=%d\n", rc);
11331133
return NULL;
11341134
}
11351135

@@ -1187,7 +1187,7 @@ static void bnxt_tc_put_decap_l2_node(struct bnxt *bp,
11871187
&decap_l2_node->node,
11881188
tc_info->decap_l2_ht_params);
11891189
if (rc)
1190-
netdev_err(bp->dev, "rhashtable_remove_fast rc=%d", rc);
1190+
netdev_err(bp->dev, "rhashtable_remove_fast rc=%d\n", rc);
11911191
kfree_rcu(decap_l2_node, rcu);
11921192
}
11931193
}
@@ -1227,7 +1227,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
12271227

12281228
rt = ip_route_output_key(dev_net(real_dst_dev), &flow);
12291229
if (IS_ERR(rt)) {
1230-
netdev_info(bp->dev, "no route to %pI4b", &flow.daddr);
1230+
netdev_info(bp->dev, "no route to %pI4b\n", &flow.daddr);
12311231
return -EOPNOTSUPP;
12321232
}
12331233

@@ -1241,7 +1241,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
12411241

12421242
if (vlan->real_dev != real_dst_dev) {
12431243
netdev_info(bp->dev,
1244-
"dst_dev(%s) doesn't use PF-if(%s)",
1244+
"dst_dev(%s) doesn't use PF-if(%s)\n",
12451245
netdev_name(dst_dev),
12461246
netdev_name(real_dst_dev));
12471247
rc = -EOPNOTSUPP;
@@ -1253,7 +1253,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
12531253
#endif
12541254
} else if (dst_dev != real_dst_dev) {
12551255
netdev_info(bp->dev,
1256-
"dst_dev(%s) for %pI4b is not PF-if(%s)",
1256+
"dst_dev(%s) for %pI4b is not PF-if(%s)\n",
12571257
netdev_name(dst_dev), &flow.daddr,
12581258
netdev_name(real_dst_dev));
12591259
rc = -EOPNOTSUPP;
@@ -1262,7 +1262,7 @@ static int bnxt_tc_resolve_tunnel_hdrs(struct bnxt *bp,
12621262

12631263
nbr = dst_neigh_lookup(&rt->dst, &flow.daddr);
12641264
if (!nbr) {
1265-
netdev_info(bp->dev, "can't lookup neighbor for %pI4b",
1265+
netdev_info(bp->dev, "can't lookup neighbor for %pI4b\n",
12661266
&flow.daddr);
12671267
rc = -EOPNOTSUPP;
12681268
goto put_rt;
@@ -1472,7 +1472,7 @@ static int __bnxt_tc_del_flow(struct bnxt *bp,
14721472
rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node,
14731473
tc_info->flow_ht_params);
14741474
if (rc)
1475-
netdev_err(bp->dev, "Error: %s: rhashtable_remove_fast rc=%d",
1475+
netdev_err(bp->dev, "Error: %s: rhashtable_remove_fast rc=%d\n",
14761476
__func__, rc);
14771477

14781478
kfree_rcu(flow_node, rcu);
@@ -1587,7 +1587,7 @@ static int bnxt_tc_add_flow(struct bnxt *bp, u16 src_fid,
15871587
free_node:
15881588
kfree_rcu(new_node, rcu);
15891589
done:
1590-
netdev_err(bp->dev, "Error: %s: cookie=0x%lx error=%d",
1590+
netdev_err(bp->dev, "Error: %s: cookie=0x%lx error=%d\n",
15911591
__func__, tc_flow_cmd->cookie, rc);
15921592
return rc;
15931593
}
@@ -1700,7 +1700,7 @@ bnxt_hwrm_cfa_flow_stats_get(struct bnxt *bp, int num_flows,
17001700
le64_to_cpu(resp_bytes[i]);
17011701
}
17021702
} else {
1703-
netdev_info(bp->dev, "error rc=%d", rc);
1703+
netdev_info(bp->dev, "error rc=%d\n", rc);
17041704
}
17051705
mutex_unlock(&bp->hwrm_cmd_lock);
17061706

@@ -1970,7 +1970,7 @@ static int bnxt_tc_indr_block_event(struct notifier_block *nb,
19701970
bp);
19711971
if (rc)
19721972
netdev_info(bp->dev,
1973-
"Failed to register indirect blk: dev: %s",
1973+
"Failed to register indirect blk: dev: %s\n",
19741974
netdev->name);
19751975
break;
19761976
case NETDEV_UNREGISTER:

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ static int hwrm_cfa_vfr_alloc(struct bnxt *bp, u16 vf_idx,
4343
netdev_dbg(bp->dev, "tx_cfa_action=0x%x, rx_cfa_code=0x%x",
4444
*tx_cfa_action, *rx_cfa_code);
4545
} else {
46-
netdev_info(bp->dev, "%s error rc=%d", __func__, rc);
46+
netdev_info(bp->dev, "%s error rc=%d\n", __func__, rc);
4747
}
4848

4949
mutex_unlock(&bp->hwrm_cmd_lock);
@@ -60,7 +60,7 @@ static int hwrm_cfa_vfr_free(struct bnxt *bp, u16 vf_idx)
6060

6161
rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6262
if (rc)
63-
netdev_info(bp->dev, "%s error rc=%d", __func__, rc);
63+
netdev_info(bp->dev, "%s error rc=%d\n", __func__, rc);
6464
return rc;
6565
}
6666

@@ -465,7 +465,7 @@ static int bnxt_vf_reps_create(struct bnxt *bp)
465465
return 0;
466466

467467
err:
468-
netdev_info(bp->dev, "%s error=%d", __func__, rc);
468+
netdev_info(bp->dev, "%s error=%d\n", __func__, rc);
469469
kfree(cfa_code_map);
470470
__bnxt_vf_reps_destroy(bp);
471471
return rc;
@@ -488,7 +488,7 @@ int bnxt_dl_eswitch_mode_set(struct devlink *devlink, u16 mode,
488488

489489
mutex_lock(&bp->sriov_lock);
490490
if (bp->eswitch_mode == mode) {
491-
netdev_info(bp->dev, "already in %s eswitch mode",
491+
netdev_info(bp->dev, "already in %s eswitch mode\n",
492492
mode == DEVLINK_ESWITCH_MODE_LEGACY ?
493493
"legacy" : "switchdev");
494494
rc = -EINVAL;
@@ -508,7 +508,7 @@ int bnxt_dl_eswitch_mode_set(struct devlink *devlink, u16 mode,
508508
}
509509

510510
if (pci_num_vf(bp->pdev) == 0) {
511-
netdev_info(bp->dev, "Enable VFs before setting switchdev mode");
511+
netdev_info(bp->dev, "Enable VFs before setting switchdev mode\n");
512512
rc = -EPERM;
513513
goto done;
514514
}

drivers/net/ethernet/broadcom/genet/bcmmii.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
294294
*/
295295
if (priv->ext_phy) {
296296
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
297+
reg &= ~ID_MODE_DIS;
297298
reg |= id_mode_dis;
298299
if (GENET_IS_V1(priv) || GENET_IS_V2(priv) || GENET_IS_V3(priv))
299300
reg |= RGMII_MODE_EN_V123;

drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ static int set_hw_ioctxt(struct hinic_hwdev *hwdev, unsigned int rq_depth,
297297
}
298298

299299
hw_ioctxt.func_idx = HINIC_HWIF_FUNC_IDX(hwif);
300+
hw_ioctxt.ppf_idx = HINIC_HWIF_PPF_IDX(hwif);
300301

301302
hw_ioctxt.set_cmdq_depth = HW_IOCTXT_SET_CMDQ_DEPTH_DEFAULT;
302303
hw_ioctxt.cmdq_depth = 0;

0 commit comments

Comments
 (0)