Skip to content

Commit d3fa86b

Browse files
committed
Merge tag 'net-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from bpf. Current release - regressions: - Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" - kselftest: rtnetlink: fix ip route command typo Current release - new code bugs: - s390/ism: make sure ism driver implies smc protocol in kconfig - two build fixes for tools/net Previous releases - regressions: - rxrpc: couple of ACK/PING/RTT handling fixes Previous releases - always broken: - bpf: verify bpf_loop() callbacks as if they are called unknown number of times - improve stability of auto-bonding with Hyper-V - account BPF-neigh-redirected traffic in interface statistics Misc: - net: fill in some more MODULE_DESCRIPTION()s" * tag 'net-6.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (58 commits) tools: ynl: fix duplicate op name in devlink tools: ynl: fix header path for nfsd net: ipa: fix one GSI register field width tls: fix NULL deref on tls_sw_splice_eof() with empty record net: axienet: Fix check for partial TX checksum vsock/test: fix SEQPACKET message bounds test i40e: Fix adding unsupported cloud filters ice: restore timestamp configuration after device reset ice: unify logic for programming PFINT_TSYN_MSK ice: remove ptp_tx ring parameter flag amd-xgbe: propagate the correct speed and duplex status amd-xgbe: handle the corner-case during tx completion amd-xgbe: handle corner-case during sfp hotplug net: veth: fix ethtool stats reporting octeontx2-pf: Fix ntuple rule creation to direct packet to VF with higher Rx queue than its PF net: usb: qmi_wwan: claim interface 4 for ZTE MF290 Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" net/smc: avoid data corruption caused by decline nfc: virtual_ncidev: Add variable to check if ndev is running dpll: Fix potential msg memleak when genlmsg_put_reply failed ...
2 parents 9b6de13 + 39f04b1 commit d3fa86b

Some content is hidden

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

72 files changed

+1429
-667
lines changed

Documentation/process/maintainer-netdev.rst

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,23 @@ Review timelines
193193
Generally speaking, the patches get triaged quickly (in less than
194194
48h). But be patient, if your patch is active in patchwork (i.e. it's
195195
listed on the project's patch list) the chances it was missed are close to zero.
196-
Asking the maintainer for status updates on your
197-
patch is a good way to ensure your patch is ignored or pushed to the
198-
bottom of the priority list.
196+
197+
The high volume of development on netdev makes reviewers move on
198+
from discussions relatively quickly. New comments and replies
199+
are very unlikely to arrive after a week of silence. If a patch
200+
is no longer active in patchwork and the thread went idle for more
201+
than a week - clarify the next steps and/or post the next version.
202+
203+
For RFC postings specifically, if nobody responded in a week - reviewers
204+
either missed the posting or have no strong opinions. If the code is ready,
205+
repost as a PATCH.
206+
207+
Emails saying just "ping" or "bump" are considered rude. If you can't figure
208+
out the status of the patch from patchwork or where the discussion has
209+
landed - describe your best guess and ask if it's correct. For example::
210+
211+
I don't understand what the next steps are. Person X seems to be unhappy
212+
with A, should I do B and repost the patches?
199213

200214
.. _Changes requested:
201215

MAINTAINERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14992,6 +14992,7 @@ M: Jakub Kicinski <[email protected]>
1499214992
M: Paolo Abeni <[email protected]>
1499314993
1499414994
S: Maintained
14995+
P: Documentation/process/maintainer-netdev.rst
1499514996
Q: https://patchwork.kernel.org/project/netdevbpf/list/
1499614997
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
1499714998
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
@@ -15043,6 +15044,7 @@ M: Jakub Kicinski <[email protected]>
1504315044
M: Paolo Abeni <[email protected]>
1504415045
1504515046
S: Maintained
15047+
P: Documentation/process/maintainer-netdev.rst
1504615048
Q: https://patchwork.kernel.org/project/netdevbpf/list/
1504715049
1504815050
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
@@ -15053,6 +15055,7 @@ F: Documentation/networking/
1505315055
F: Documentation/process/maintainer-netdev.rst
1505415056
F: Documentation/userspace-api/netlink/
1505515057
F: include/linux/in.h
15058+
F: include/linux/indirect_call_wrapper.h
1505615059
F: include/linux/net.h
1505715060
F: include/linux/netdevice.h
1505815061
F: include/net/

drivers/dpll/dpll_netlink.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,9 +1093,10 @@ int dpll_nl_pin_id_get_doit(struct sk_buff *skb, struct genl_info *info)
10931093
return -ENOMEM;
10941094
hdr = genlmsg_put_reply(msg, info, &dpll_nl_family, 0,
10951095
DPLL_CMD_PIN_ID_GET);
1096-
if (!hdr)
1096+
if (!hdr) {
1097+
nlmsg_free(msg);
10971098
return -EMSGSIZE;
1098-
1099+
}
10991100
pin = dpll_pin_find_from_nlattr(info);
11001101
if (!IS_ERR(pin)) {
11011102
ret = dpll_msg_add_pin_handle(msg, pin);
@@ -1123,8 +1124,10 @@ int dpll_nl_pin_get_doit(struct sk_buff *skb, struct genl_info *info)
11231124
return -ENOMEM;
11241125
hdr = genlmsg_put_reply(msg, info, &dpll_nl_family, 0,
11251126
DPLL_CMD_PIN_GET);
1126-
if (!hdr)
1127+
if (!hdr) {
1128+
nlmsg_free(msg);
11271129
return -EMSGSIZE;
1130+
}
11281131
ret = dpll_cmd_pin_get_one(msg, pin, info->extack);
11291132
if (ret) {
11301133
nlmsg_free(msg);
@@ -1256,8 +1259,10 @@ int dpll_nl_device_id_get_doit(struct sk_buff *skb, struct genl_info *info)
12561259
return -ENOMEM;
12571260
hdr = genlmsg_put_reply(msg, info, &dpll_nl_family, 0,
12581261
DPLL_CMD_DEVICE_ID_GET);
1259-
if (!hdr)
1262+
if (!hdr) {
1263+
nlmsg_free(msg);
12601264
return -EMSGSIZE;
1265+
}
12611266

12621267
dpll = dpll_device_find_from_nlattr(info);
12631268
if (!IS_ERR(dpll)) {
@@ -1284,8 +1289,10 @@ int dpll_nl_device_get_doit(struct sk_buff *skb, struct genl_info *info)
12841289
return -ENOMEM;
12851290
hdr = genlmsg_put_reply(msg, info, &dpll_nl_family, 0,
12861291
DPLL_CMD_DEVICE_GET);
1287-
if (!hdr)
1292+
if (!hdr) {
1293+
nlmsg_free(msg);
12881294
return -EMSGSIZE;
1295+
}
12891296

12901297
ret = dpll_device_get_one(dpll, msg, info->extack);
12911298
if (ret) {

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,10 +682,24 @@ static void xgbe_service(struct work_struct *work)
682682
static void xgbe_service_timer(struct timer_list *t)
683683
{
684684
struct xgbe_prv_data *pdata = from_timer(pdata, t, service_timer);
685+
struct xgbe_channel *channel;
686+
unsigned int i;
685687

686688
queue_work(pdata->dev_workqueue, &pdata->service_work);
687689

688690
mod_timer(&pdata->service_timer, jiffies + HZ);
691+
692+
if (!pdata->tx_usecs)
693+
return;
694+
695+
for (i = 0; i < pdata->channel_count; i++) {
696+
channel = pdata->channel[i];
697+
if (!channel->tx_ring || channel->tx_timer_active)
698+
break;
699+
channel->tx_timer_active = 1;
700+
mod_timer(&channel->tx_timer,
701+
jiffies + usecs_to_jiffies(pdata->tx_usecs));
702+
}
689703
}
690704

691705
static void xgbe_init_timers(struct xgbe_prv_data *pdata)

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,15 @@ static int xgbe_get_link_ksettings(struct net_device *netdev,
314314

315315
cmd->base.phy_address = pdata->phy.address;
316316

317-
cmd->base.autoneg = pdata->phy.autoneg;
318-
cmd->base.speed = pdata->phy.speed;
319-
cmd->base.duplex = pdata->phy.duplex;
317+
if (netif_carrier_ok(netdev)) {
318+
cmd->base.speed = pdata->phy.speed;
319+
cmd->base.duplex = pdata->phy.duplex;
320+
} else {
321+
cmd->base.speed = SPEED_UNKNOWN;
322+
cmd->base.duplex = DUPLEX_UNKNOWN;
323+
}
320324

325+
cmd->base.autoneg = pdata->phy.autoneg;
321326
cmd->base.port = PORT_NONE;
322327

323328
XGBE_LM_COPY(cmd, supported, lks, supported);

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,19 @@ static int xgbe_phy_config_fixed(struct xgbe_prv_data *pdata)
11931193
if (pdata->phy.duplex != DUPLEX_FULL)
11941194
return -EINVAL;
11951195

1196-
xgbe_set_mode(pdata, mode);
1196+
/* Force the mode change for SFI in Fixed PHY config.
1197+
* Fixed PHY configs needs PLL to be enabled while doing mode set.
1198+
* When the SFP module isn't connected during boot, driver assumes
1199+
* AN is ON and attempts autonegotiation. However, if the connected
1200+
* SFP comes up in Fixed PHY config, the link will not come up as
1201+
* PLL isn't enabled while the initial mode set command is issued.
1202+
* So, force the mode change for SFI in Fixed PHY configuration to
1203+
* fix link issues.
1204+
*/
1205+
if (mode == XGBE_MODE_SFI)
1206+
xgbe_change_mode(pdata, mode);
1207+
else
1208+
xgbe_set_mode(pdata, mode);
11971209

11981210
return 0;
11991211
}

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3844,7 +3844,7 @@ static int i40e_vc_add_cloud_filter(struct i40e_vf *vf, u8 *msg)
38443844
struct i40e_pf *pf = vf->pf;
38453845
struct i40e_vsi *vsi = NULL;
38463846
int aq_ret = 0;
3847-
int i, ret;
3847+
int i;
38483848

38493849
if (!i40e_sync_vf_state(vf, I40E_VF_STATE_ACTIVE)) {
38503850
aq_ret = -EINVAL;
@@ -3868,8 +3868,10 @@ static int i40e_vc_add_cloud_filter(struct i40e_vf *vf, u8 *msg)
38683868
}
38693869

38703870
cfilter = kzalloc(sizeof(*cfilter), GFP_KERNEL);
3871-
if (!cfilter)
3872-
return -ENOMEM;
3871+
if (!cfilter) {
3872+
aq_ret = -ENOMEM;
3873+
goto err_out;
3874+
}
38733875

38743876
/* parse destination mac address */
38753877
for (i = 0; i < ETH_ALEN; i++)
@@ -3917,13 +3919,13 @@ static int i40e_vc_add_cloud_filter(struct i40e_vf *vf, u8 *msg)
39173919

39183920
/* Adding cloud filter programmed as TC filter */
39193921
if (tcf.dst_port)
3920-
ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, true);
3922+
aq_ret = i40e_add_del_cloud_filter_big_buf(vsi, cfilter, true);
39213923
else
3922-
ret = i40e_add_del_cloud_filter(vsi, cfilter, true);
3923-
if (ret) {
3924+
aq_ret = i40e_add_del_cloud_filter(vsi, cfilter, true);
3925+
if (aq_ret) {
39243926
dev_err(&pf->pdev->dev,
39253927
"VF %d: Failed to add cloud filter, err %pe aq_err %s\n",
3926-
vf->vf_id, ERR_PTR(ret),
3928+
vf->vf_id, ERR_PTR(aq_ret),
39273929
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
39283930
goto err_free;
39293931
}

drivers/net/ethernet/intel/ice/ice_main.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7401,15 +7401,6 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
74017401
goto err_vsi_rebuild;
74027402
}
74037403

7404-
/* configure PTP timestamping after VSI rebuild */
7405-
if (test_bit(ICE_FLAG_PTP_SUPPORTED, pf->flags)) {
7406-
if (pf->ptp.tx_interrupt_mode == ICE_PTP_TX_INTERRUPT_SELF)
7407-
ice_ptp_cfg_timestamp(pf, false);
7408-
else if (pf->ptp.tx_interrupt_mode == ICE_PTP_TX_INTERRUPT_ALL)
7409-
/* for E82x PHC owner always need to have interrupts */
7410-
ice_ptp_cfg_timestamp(pf, true);
7411-
}
7412-
74137404
err = ice_vsi_rebuild_by_type(pf, ICE_VSI_SWITCHDEV_CTRL);
74147405
if (err) {
74157406
dev_err(dev, "Switchdev CTRL VSI rebuild failed: %d\n", err);
@@ -7461,6 +7452,9 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
74617452
ice_plug_aux_dev(pf);
74627453
if (ice_is_feature_supported(pf, ICE_F_SRIOV_LAG))
74637454
ice_lag_rebuild(pf);
7455+
7456+
/* Restore timestamp mode settings after VSI rebuild */
7457+
ice_ptp_restore_timestamp_mode(pf);
74647458
return;
74657459

74667460
err_vsi_rebuild:

0 commit comments

Comments
 (0)