From: Greg Kroah-Hartman Date: Wed, 15 Jan 2025 09:54:51 +0000 (+0100) Subject: drop hns3 patches that were reverted upstream X-Git-Tag: v6.1.125~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7f54bc1f9dfb64004ad07205650ffcfa10498f6;p=thirdparty%2Fkernel%2Fstable-queue.git drop hns3 patches that were reverted upstream --- diff --git a/queue-5.15/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch b/queue-5.15/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch deleted file mode 100644 index 9b71caad9dd..00000000000 --- a/queue-5.15/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch +++ /dev/null @@ -1,96 +0,0 @@ -From e92e4e8cbb90539ec6003ae43bc7c32f02e7c7a8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:38 +0800 -Subject: net: hns3: fix kernel crash when 1588 is sent on HIP08 devices - -From: Jie Wang - -[ Upstream commit 2cf246143519ecc11dab754385ec42d78b6b6a05 ] - -Currently, HIP08 devices does not register the ptp devices, so the -hdev->ptp is NULL. But the tx process would still try to set hardware time -stamp info with SKBTX_HW_TSTAMP flag and cause a kernel crash. - -[ 128.087798] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018 -... -[ 128.280251] pc : hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.286600] lr : hclge_ptp_set_tx_info+0x20/0x140 [hclge] -[ 128.292938] sp : ffff800059b93140 -[ 128.297200] x29: ffff800059b93140 x28: 0000000000003280 -[ 128.303455] x27: ffff800020d48280 x26: ffff0cb9dc814080 -[ 128.309715] x25: ffff0cb9cde93fa0 x24: 0000000000000001 -[ 128.315969] x23: 0000000000000000 x22: 0000000000000194 -[ 128.322219] x21: ffff0cd94f986000 x20: 0000000000000000 -[ 128.328462] x19: ffff0cb9d2a166c0 x18: 0000000000000000 -[ 128.334698] x17: 0000000000000000 x16: ffffcf1fc523ed24 -[ 128.340934] x15: 0000ffffd530a518 x14: 0000000000000000 -[ 128.347162] x13: ffff0cd6bdb31310 x12: 0000000000000368 -[ 128.353388] x11: ffff0cb9cfbc7070 x10: ffff2cf55dd11e02 -[ 128.359606] x9 : ffffcf1f85a212b4 x8 : ffff0cd7cf27dab0 -[ 128.365831] x7 : 0000000000000a20 x6 : ffff0cd7cf27d000 -[ 128.372040] x5 : 0000000000000000 x4 : 000000000000ffff -[ 128.378243] x3 : 0000000000000400 x2 : ffffcf1f85a21294 -[ 128.384437] x1 : ffff0cb9db520080 x0 : ffff0cb9db500080 -[ 128.390626] Call trace: -[ 128.393964] hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.399893] hns3_nic_net_xmit+0x39c/0x4c4 [hns3] -[ 128.405468] xmit_one.constprop.0+0xc4/0x200 -[ 128.410600] dev_hard_start_xmit+0x54/0xf0 -[ 128.415556] sch_direct_xmit+0xe8/0x634 -[ 128.420246] __dev_queue_xmit+0x224/0xc70 -[ 128.425101] dev_queue_xmit+0x1c/0x40 -[ 128.429608] ovs_vport_send+0xac/0x1a0 [openvswitch] -[ 128.435409] do_output+0x60/0x17c [openvswitch] -[ 128.440770] do_execute_actions+0x898/0x8c4 [openvswitch] -[ 128.446993] ovs_execute_actions+0x64/0xf0 [openvswitch] -[ 128.453129] ovs_dp_process_packet+0xa0/0x224 [openvswitch] -[ 128.459530] ovs_vport_receive+0x7c/0xfc [openvswitch] -[ 128.465497] internal_dev_xmit+0x34/0xb0 [openvswitch] -[ 128.471460] xmit_one.constprop.0+0xc4/0x200 -[ 128.476561] dev_hard_start_xmit+0x54/0xf0 -[ 128.481489] __dev_queue_xmit+0x968/0xc70 -[ 128.486330] dev_queue_xmit+0x1c/0x40 -[ 128.490856] ip_finish_output2+0x250/0x570 -[ 128.495810] __ip_finish_output+0x170/0x1e0 -[ 128.500832] ip_finish_output+0x3c/0xf0 -[ 128.505504] ip_output+0xbc/0x160 -[ 128.509654] ip_send_skb+0x58/0xd4 -[ 128.513892] udp_send_skb+0x12c/0x354 -[ 128.518387] udp_sendmsg+0x7a8/0x9c0 -[ 128.522793] inet_sendmsg+0x4c/0x8c -[ 128.527116] __sock_sendmsg+0x48/0x80 -[ 128.531609] __sys_sendto+0x124/0x164 -[ 128.536099] __arm64_sys_sendto+0x30/0x5c -[ 128.540935] invoke_syscall+0x50/0x130 -[ 128.545508] el0_svc_common.constprop.0+0x10c/0x124 -[ 128.551205] do_el0_svc+0x34/0xdc -[ 128.555347] el0_svc+0x20/0x30 -[ 128.559227] el0_sync_handler+0xb8/0xc0 -[ 128.563883] el0_sync+0x160/0x180 - -Fixes: 0bf5eb788512 ("net: hns3: add support for PTP") -Signed-off-by: Jie Wang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -index 0f06f95b09bc..8802cdd6403e 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -@@ -70,6 +70,9 @@ bool hclge_ptp_set_tx_info(struct hnae3_handle *handle, struct sk_buff *skb) - struct hclge_dev *hdev = vport->back; - struct hclge_ptp *ptp = hdev->ptp; - -+ if (!ptp) -+ return false; -+ - if (!test_bit(HCLGE_PTP_FLAG_TX_EN, &ptp->flags) || - test_and_set_bit(HCLGE_STATE_PTP_TX_HANDLING, &hdev->state)) { - ptp->tx_skipped++; --- -2.39.5 - diff --git a/queue-5.15/net-hns3-fix-missing-features-due-to-dev-features-co.patch b/queue-5.15/net-hns3-fix-missing-features-due-to-dev-features-co.patch deleted file mode 100644 index 930ac5f41c5..00000000000 --- a/queue-5.15/net-hns3-fix-missing-features-due-to-dev-features-co.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 939da5e968f8673a395be9cd77359f084170be5e Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:33 +0800 -Subject: net: hns3: fix missing features due to dev->features configuration - too early - -From: Hao Lan - -[ Upstream commit 662ecfc46690e92cf630f51b5d4bbbcffe102980 ] - -Currently, the netdev->features is configured in hns3_nic_set_features. -As a result, __netdev_update_features considers that there is no feature -difference, and the procedures of the real features are missing. - -Fixes: 2a7556bb2b73 ("net: hns3: implement ndo_features_check ops for hns3 driver") -Signed-off-by: Hao Lan -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -index d6bdcd9f285b..f277ba8a1509 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -@@ -2314,7 +2314,6 @@ static int hns3_nic_set_features(struct net_device *netdev, - return ret; - } - -- netdev->features = features; - return 0; - } - --- -2.39.5 - diff --git a/queue-5.15/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch b/queue-5.15/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch deleted file mode 100644 index 398bc139cec..00000000000 --- a/queue-5.15/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9253db84c25c4b8efd8d0e94e0c4e44219aa60f3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:36 +0800 -Subject: net: hns3: initialize reset_timer before hclgevf_misc_irq_init() - -From: Jian Shen - -[ Upstream commit d1c2e2961ab460ac2433ff8ad46000582abc573c ] - -Currently the misc irq is initialized before reset_timer setup. But -it will access the reset_timer in the irq handler. So initialize -the reset_timer earlier. - -Fixes: ff200099d271 ("net: hns3: remove unnecessary work in hclgevf_main") -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -index 5b861a2a3e73..b011df3a684f 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -@@ -2793,6 +2793,7 @@ static void hclgevf_state_init(struct hclgevf_dev *hdev) - clear_bit(HCLGEVF_STATE_RST_FAIL, &hdev->state); - - INIT_DELAYED_WORK(&hdev->service_task, hclgevf_service_task); -+ timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - mutex_init(&hdev->mbx_resp.mbx_mutex); - sema_init(&hdev->reset_sem, 1); -@@ -3488,7 +3489,6 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev) - HCLGEVF_DRIVER_NAME); - - hclgevf_task_schedule(hdev, round_jiffies_relative(HZ)); -- timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - return 0; - --- -2.39.5 - diff --git a/queue-5.15/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch b/queue-5.15/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch deleted file mode 100644 index 13a73f14614..00000000000 --- a/queue-5.15/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch +++ /dev/null @@ -1,47 +0,0 @@ -From c8ce5e5f85c8983d3f062e863a27e9b9146469e5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:34 +0800 -Subject: net: hns3: Resolved the issue that the debugfs query result is - inconsistent. - -From: Hao Lan - -[ Upstream commit 2758f18a83ef283d50c0566d3f672621cc658a1a ] - -This patch modifies the implementation of debugfs: -When the user process stops unexpectedly, not all data of the file system -is read. In this case, the save_buf pointer is not released. When the user -process is called next time, save_buf is used to copy the cached data -to the user space. As a result, the queried data is inconsistent. To solve -this problem, determine whether the function is invoked for the first time -based on the value of *ppos. If *ppos is 0, obtain the actual data. - -Fixes: 5e69ea7ee2a6 ("net: hns3: refactor the debugfs process") -Signed-off-by: Hao Lan -Signed-off-by: Guangwei Zhang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -index bd801e35d51e..b4580c02ff53 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -@@ -1043,8 +1043,10 @@ static ssize_t hns3_dbg_read(struct file *filp, char __user *buffer, - - /* save the buffer addr until the last read operation */ - *save_buf = read_buf; -+ } - -- /* get data ready for the first time to read */ -+ /* get data ready for the first time to read */ -+ if (!*ppos) { - ret = hns3_dbg_read_cmd(dbg_data, hns3_dbg_cmd[index].cmd, - read_buf, hns3_dbg_cmd[index].buf_len); - if (ret) --- -2.39.5 - diff --git a/queue-5.15/series b/queue-5.15/series index f9269c69419..09b0c881a27 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -14,10 +14,6 @@ net_sched-cls_flow-validate-tca_flow_rshift-attribut.patch bnxt_en-fix-possible-memory-leak-when-hwrm_req_repla.patch cxgb4-avoid-removal-of-uninserted-tid.patch tls-fix-tls_sw_sendmsg-error-handling.patch -net-hns3-fix-missing-features-due-to-dev-features-co.patch -net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch -net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch -net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch netfilter-nf_tables-imbalance-in-flowtable-binding.patch netfilter-conntrack-clamp-maximum-hashtable-size-to-.patch drm-mediatek-add-support-for-180-degree-rotation-in-.patch diff --git a/queue-6.1/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch b/queue-6.1/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch deleted file mode 100644 index e6b944eb70b..00000000000 --- a/queue-6.1/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch +++ /dev/null @@ -1,96 +0,0 @@ -From e526c88c77e58ff9018ecd16eae32c74ffeb6567 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:38 +0800 -Subject: net: hns3: fix kernel crash when 1588 is sent on HIP08 devices - -From: Jie Wang - -[ Upstream commit 2cf246143519ecc11dab754385ec42d78b6b6a05 ] - -Currently, HIP08 devices does not register the ptp devices, so the -hdev->ptp is NULL. But the tx process would still try to set hardware time -stamp info with SKBTX_HW_TSTAMP flag and cause a kernel crash. - -[ 128.087798] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018 -... -[ 128.280251] pc : hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.286600] lr : hclge_ptp_set_tx_info+0x20/0x140 [hclge] -[ 128.292938] sp : ffff800059b93140 -[ 128.297200] x29: ffff800059b93140 x28: 0000000000003280 -[ 128.303455] x27: ffff800020d48280 x26: ffff0cb9dc814080 -[ 128.309715] x25: ffff0cb9cde93fa0 x24: 0000000000000001 -[ 128.315969] x23: 0000000000000000 x22: 0000000000000194 -[ 128.322219] x21: ffff0cd94f986000 x20: 0000000000000000 -[ 128.328462] x19: ffff0cb9d2a166c0 x18: 0000000000000000 -[ 128.334698] x17: 0000000000000000 x16: ffffcf1fc523ed24 -[ 128.340934] x15: 0000ffffd530a518 x14: 0000000000000000 -[ 128.347162] x13: ffff0cd6bdb31310 x12: 0000000000000368 -[ 128.353388] x11: ffff0cb9cfbc7070 x10: ffff2cf55dd11e02 -[ 128.359606] x9 : ffffcf1f85a212b4 x8 : ffff0cd7cf27dab0 -[ 128.365831] x7 : 0000000000000a20 x6 : ffff0cd7cf27d000 -[ 128.372040] x5 : 0000000000000000 x4 : 000000000000ffff -[ 128.378243] x3 : 0000000000000400 x2 : ffffcf1f85a21294 -[ 128.384437] x1 : ffff0cb9db520080 x0 : ffff0cb9db500080 -[ 128.390626] Call trace: -[ 128.393964] hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.399893] hns3_nic_net_xmit+0x39c/0x4c4 [hns3] -[ 128.405468] xmit_one.constprop.0+0xc4/0x200 -[ 128.410600] dev_hard_start_xmit+0x54/0xf0 -[ 128.415556] sch_direct_xmit+0xe8/0x634 -[ 128.420246] __dev_queue_xmit+0x224/0xc70 -[ 128.425101] dev_queue_xmit+0x1c/0x40 -[ 128.429608] ovs_vport_send+0xac/0x1a0 [openvswitch] -[ 128.435409] do_output+0x60/0x17c [openvswitch] -[ 128.440770] do_execute_actions+0x898/0x8c4 [openvswitch] -[ 128.446993] ovs_execute_actions+0x64/0xf0 [openvswitch] -[ 128.453129] ovs_dp_process_packet+0xa0/0x224 [openvswitch] -[ 128.459530] ovs_vport_receive+0x7c/0xfc [openvswitch] -[ 128.465497] internal_dev_xmit+0x34/0xb0 [openvswitch] -[ 128.471460] xmit_one.constprop.0+0xc4/0x200 -[ 128.476561] dev_hard_start_xmit+0x54/0xf0 -[ 128.481489] __dev_queue_xmit+0x968/0xc70 -[ 128.486330] dev_queue_xmit+0x1c/0x40 -[ 128.490856] ip_finish_output2+0x250/0x570 -[ 128.495810] __ip_finish_output+0x170/0x1e0 -[ 128.500832] ip_finish_output+0x3c/0xf0 -[ 128.505504] ip_output+0xbc/0x160 -[ 128.509654] ip_send_skb+0x58/0xd4 -[ 128.513892] udp_send_skb+0x12c/0x354 -[ 128.518387] udp_sendmsg+0x7a8/0x9c0 -[ 128.522793] inet_sendmsg+0x4c/0x8c -[ 128.527116] __sock_sendmsg+0x48/0x80 -[ 128.531609] __sys_sendto+0x124/0x164 -[ 128.536099] __arm64_sys_sendto+0x30/0x5c -[ 128.540935] invoke_syscall+0x50/0x130 -[ 128.545508] el0_svc_common.constprop.0+0x10c/0x124 -[ 128.551205] do_el0_svc+0x34/0xdc -[ 128.555347] el0_svc+0x20/0x30 -[ 128.559227] el0_sync_handler+0xb8/0xc0 -[ 128.563883] el0_sync+0x160/0x180 - -Fixes: 0bf5eb788512 ("net: hns3: add support for PTP") -Signed-off-by: Jie Wang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -index 0f06f95b09bc..8802cdd6403e 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -@@ -70,6 +70,9 @@ bool hclge_ptp_set_tx_info(struct hnae3_handle *handle, struct sk_buff *skb) - struct hclge_dev *hdev = vport->back; - struct hclge_ptp *ptp = hdev->ptp; - -+ if (!ptp) -+ return false; -+ - if (!test_bit(HCLGE_PTP_FLAG_TX_EN, &ptp->flags) || - test_and_set_bit(HCLGE_STATE_PTP_TX_HANDLING, &hdev->state)) { - ptp->tx_skipped++; --- -2.39.5 - diff --git a/queue-6.1/net-hns3-fix-missing-features-due-to-dev-features-co.patch b/queue-6.1/net-hns3-fix-missing-features-due-to-dev-features-co.patch deleted file mode 100644 index 5beea7dcaba..00000000000 --- a/queue-6.1/net-hns3-fix-missing-features-due-to-dev-features-co.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 713c2d2cfa899a00d72784c1d0812c7aa2cd56d3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:33 +0800 -Subject: net: hns3: fix missing features due to dev->features configuration - too early - -From: Hao Lan - -[ Upstream commit 662ecfc46690e92cf630f51b5d4bbbcffe102980 ] - -Currently, the netdev->features is configured in hns3_nic_set_features. -As a result, __netdev_update_features considers that there is no feature -difference, and the procedures of the real features are missing. - -Fixes: 2a7556bb2b73 ("net: hns3: implement ndo_features_check ops for hns3 driver") -Signed-off-by: Hao Lan -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -index 0377a056aaec..52e205be4ec2 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -@@ -2455,7 +2455,6 @@ static int hns3_nic_set_features(struct net_device *netdev, - return ret; - } - -- netdev->features = features; - return 0; - } - --- -2.39.5 - diff --git a/queue-6.1/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch b/queue-6.1/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch deleted file mode 100644 index 6bc03544701..00000000000 --- a/queue-6.1/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f2ac81ac141cb8be6a90312e52f7e38c2e82973b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:36 +0800 -Subject: net: hns3: initialize reset_timer before hclgevf_misc_irq_init() - -From: Jian Shen - -[ Upstream commit d1c2e2961ab460ac2433ff8ad46000582abc573c ] - -Currently the misc irq is initialized before reset_timer setup. But -it will access the reset_timer in the irq handler. So initialize -the reset_timer earlier. - -Fixes: ff200099d271 ("net: hns3: remove unnecessary work in hclgevf_main") -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -index aebb104f4c29..89560484bf46 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -@@ -2307,6 +2307,7 @@ static void hclgevf_state_init(struct hclgevf_dev *hdev) - clear_bit(HCLGEVF_STATE_RST_FAIL, &hdev->state); - - INIT_DELAYED_WORK(&hdev->service_task, hclgevf_service_task); -+ timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - mutex_init(&hdev->mbx_resp.mbx_mutex); - sema_init(&hdev->reset_sem, 1); -@@ -3005,7 +3006,6 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev) - HCLGEVF_DRIVER_NAME); - - hclgevf_task_schedule(hdev, round_jiffies_relative(HZ)); -- timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - return 0; - --- -2.39.5 - diff --git a/queue-6.1/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch b/queue-6.1/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch deleted file mode 100644 index cee9c839547..00000000000 --- a/queue-6.1/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 6da1c148558087b44baa5612c175ec41546ebb71 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:34 +0800 -Subject: net: hns3: Resolved the issue that the debugfs query result is - inconsistent. - -From: Hao Lan - -[ Upstream commit 2758f18a83ef283d50c0566d3f672621cc658a1a ] - -This patch modifies the implementation of debugfs: -When the user process stops unexpectedly, not all data of the file system -is read. In this case, the save_buf pointer is not released. When the user -process is called next time, save_buf is used to copy the cached data -to the user space. As a result, the queried data is inconsistent. To solve -this problem, determine whether the function is invoked for the first time -based on the value of *ppos. If *ppos is 0, obtain the actual data. - -Fixes: 5e69ea7ee2a6 ("net: hns3: refactor the debugfs process") -Signed-off-by: Hao Lan -Signed-off-by: Guangwei Zhang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -index d2603cfc122c..87720a74341b 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -@@ -1279,8 +1279,10 @@ static ssize_t hns3_dbg_read(struct file *filp, char __user *buffer, - - /* save the buffer addr until the last read operation */ - *save_buf = read_buf; -+ } - -- /* get data ready for the first time to read */ -+ /* get data ready for the first time to read */ -+ if (!*ppos) { - ret = hns3_dbg_read_cmd(dbg_data, hns3_dbg_cmd[index].cmd, - read_buf, hns3_dbg_cmd[index].buf_len); - if (ret) --- -2.39.5 - diff --git a/queue-6.1/series b/queue-6.1/series index 903c94164ba..c5355e460f9 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -21,10 +21,6 @@ ice-fix-incorrect-phy-settings-for-100-gb-s.patch tls-fix-tls_sw_sendmsg-error-handling.patch bluetooth-hci_sync-fix-not-setting-random-address-wh.patch tcp-annotate-data-race-around-sk-sk_mark-in-tcp_v4_s.patch -net-hns3-fix-missing-features-due-to-dev-features-co.patch -net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch -net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch -net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch netfilter-nf_tables-imbalance-in-flowtable-binding.patch netfilter-conntrack-clamp-maximum-hashtable-size-to-.patch sched-sch_cake-add-bounds-checks-to-host-bulk-flow-f.patch diff --git a/queue-6.6/net-hns3-don-t-auto-enable-misc-vector.patch b/queue-6.6/net-hns3-don-t-auto-enable-misc-vector.patch deleted file mode 100644 index be27050c919..00000000000 --- a/queue-6.6/net-hns3-don-t-auto-enable-misc-vector.patch +++ /dev/null @@ -1,97 +0,0 @@ -From e83e7b58611667b0c4ea5b5ee313a4ff946340fc Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:35 +0800 -Subject: net: hns3: don't auto enable misc vector - -From: Jian Shen - -[ Upstream commit 5f62009ff10826fefa215da68831f42b0c36b6fb ] - -Currently, there is a time window between misc irq enabled -and service task inited. If an interrupte is reported at -this time, it will cause warning like below: - -[ 16.324639] Call trace: -[ 16.324641] __queue_delayed_work+0xb8/0xe0 -[ 16.324643] mod_delayed_work_on+0x78/0xd0 -[ 16.324655] hclge_errhand_task_schedule+0x58/0x90 [hclge] -[ 16.324662] hclge_misc_irq_handle+0x168/0x240 [hclge] -[ 16.324666] __handle_irq_event_percpu+0x64/0x1e0 -[ 16.324667] handle_irq_event+0x80/0x170 -[ 16.324670] handle_fasteoi_edge_irq+0x110/0x2bc -[ 16.324671] __handle_domain_irq+0x84/0xfc -[ 16.324673] gic_handle_irq+0x88/0x2c0 -[ 16.324674] el1_irq+0xb8/0x140 -[ 16.324677] arch_cpu_idle+0x18/0x40 -[ 16.324679] default_idle_call+0x5c/0x1bc -[ 16.324682] cpuidle_idle_call+0x18c/0x1c4 -[ 16.324684] do_idle+0x174/0x17c -[ 16.324685] cpu_startup_entry+0x30/0x6c -[ 16.324687] secondary_start_kernel+0x1a4/0x280 -[ 16.324688] ---[ end trace 6aa0bff672a964aa ]--- - -So don't auto enable misc vector when request irq.. - -Fixes: 7be1b9f3e99f ("net: hns3: make hclge_service use delayed workqueue") -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - .../net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c -index 9650ce594e2f..72f8f0de1079 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c -@@ -6,6 +6,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -3713,7 +3714,7 @@ static int hclge_misc_irq_init(struct hclge_dev *hdev) - snprintf(hdev->misc_vector.name, HNAE3_INT_NAME_LEN, "%s-misc-%s", - HCLGE_NAME, pci_name(hdev->pdev)); - ret = request_irq(hdev->misc_vector.vector_irq, hclge_misc_irq_handle, -- 0, hdev->misc_vector.name, hdev); -+ IRQ_NOAUTOEN, hdev->misc_vector.name, hdev); - if (ret) { - hclge_free_vector(hdev, 0); - dev_err(&hdev->pdev->dev, "request misc irq(%d) fail\n", -@@ -11805,9 +11806,6 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev) - - hclge_init_rxd_adv_layout(hdev); - -- /* Enable MISC vector(vector0) */ -- hclge_enable_vector(&hdev->misc_vector, true); -- - ret = hclge_init_wol(hdev); - if (ret) - dev_warn(&pdev->dev, -@@ -11820,6 +11818,10 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev) - hclge_state_init(hdev); - hdev->last_reset_time = jiffies; - -+ /* Enable MISC vector(vector0) */ -+ enable_irq(hdev->misc_vector.vector_irq); -+ hclge_enable_vector(&hdev->misc_vector, true); -+ - dev_info(&hdev->pdev->dev, "%s driver initialization finished.\n", - HCLGE_DRIVER_NAME); - -@@ -12223,7 +12225,7 @@ static void hclge_uninit_ae_dev(struct hnae3_ae_dev *ae_dev) - - /* Disable MISC vector(vector0) */ - hclge_enable_vector(&hdev->misc_vector, false); -- synchronize_irq(hdev->misc_vector.vector_irq); -+ disable_irq(hdev->misc_vector.vector_irq); - - /* Disable all hw interrupts */ - hclge_config_mac_tnl_int(hdev, false); --- -2.39.5 - diff --git a/queue-6.6/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch b/queue-6.6/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch deleted file mode 100644 index ad8929fdc2d..00000000000 --- a/queue-6.6/net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 059463613c74de2b3ca96a2ff54eafbb1eac5c42 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:38 +0800 -Subject: net: hns3: fix kernel crash when 1588 is sent on HIP08 devices - -From: Jie Wang - -[ Upstream commit 2cf246143519ecc11dab754385ec42d78b6b6a05 ] - -Currently, HIP08 devices does not register the ptp devices, so the -hdev->ptp is NULL. But the tx process would still try to set hardware time -stamp info with SKBTX_HW_TSTAMP flag and cause a kernel crash. - -[ 128.087798] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000018 -... -[ 128.280251] pc : hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.286600] lr : hclge_ptp_set_tx_info+0x20/0x140 [hclge] -[ 128.292938] sp : ffff800059b93140 -[ 128.297200] x29: ffff800059b93140 x28: 0000000000003280 -[ 128.303455] x27: ffff800020d48280 x26: ffff0cb9dc814080 -[ 128.309715] x25: ffff0cb9cde93fa0 x24: 0000000000000001 -[ 128.315969] x23: 0000000000000000 x22: 0000000000000194 -[ 128.322219] x21: ffff0cd94f986000 x20: 0000000000000000 -[ 128.328462] x19: ffff0cb9d2a166c0 x18: 0000000000000000 -[ 128.334698] x17: 0000000000000000 x16: ffffcf1fc523ed24 -[ 128.340934] x15: 0000ffffd530a518 x14: 0000000000000000 -[ 128.347162] x13: ffff0cd6bdb31310 x12: 0000000000000368 -[ 128.353388] x11: ffff0cb9cfbc7070 x10: ffff2cf55dd11e02 -[ 128.359606] x9 : ffffcf1f85a212b4 x8 : ffff0cd7cf27dab0 -[ 128.365831] x7 : 0000000000000a20 x6 : ffff0cd7cf27d000 -[ 128.372040] x5 : 0000000000000000 x4 : 000000000000ffff -[ 128.378243] x3 : 0000000000000400 x2 : ffffcf1f85a21294 -[ 128.384437] x1 : ffff0cb9db520080 x0 : ffff0cb9db500080 -[ 128.390626] Call trace: -[ 128.393964] hclge_ptp_set_tx_info+0x2c/0x140 [hclge] -[ 128.399893] hns3_nic_net_xmit+0x39c/0x4c4 [hns3] -[ 128.405468] xmit_one.constprop.0+0xc4/0x200 -[ 128.410600] dev_hard_start_xmit+0x54/0xf0 -[ 128.415556] sch_direct_xmit+0xe8/0x634 -[ 128.420246] __dev_queue_xmit+0x224/0xc70 -[ 128.425101] dev_queue_xmit+0x1c/0x40 -[ 128.429608] ovs_vport_send+0xac/0x1a0 [openvswitch] -[ 128.435409] do_output+0x60/0x17c [openvswitch] -[ 128.440770] do_execute_actions+0x898/0x8c4 [openvswitch] -[ 128.446993] ovs_execute_actions+0x64/0xf0 [openvswitch] -[ 128.453129] ovs_dp_process_packet+0xa0/0x224 [openvswitch] -[ 128.459530] ovs_vport_receive+0x7c/0xfc [openvswitch] -[ 128.465497] internal_dev_xmit+0x34/0xb0 [openvswitch] -[ 128.471460] xmit_one.constprop.0+0xc4/0x200 -[ 128.476561] dev_hard_start_xmit+0x54/0xf0 -[ 128.481489] __dev_queue_xmit+0x968/0xc70 -[ 128.486330] dev_queue_xmit+0x1c/0x40 -[ 128.490856] ip_finish_output2+0x250/0x570 -[ 128.495810] __ip_finish_output+0x170/0x1e0 -[ 128.500832] ip_finish_output+0x3c/0xf0 -[ 128.505504] ip_output+0xbc/0x160 -[ 128.509654] ip_send_skb+0x58/0xd4 -[ 128.513892] udp_send_skb+0x12c/0x354 -[ 128.518387] udp_sendmsg+0x7a8/0x9c0 -[ 128.522793] inet_sendmsg+0x4c/0x8c -[ 128.527116] __sock_sendmsg+0x48/0x80 -[ 128.531609] __sys_sendto+0x124/0x164 -[ 128.536099] __arm64_sys_sendto+0x30/0x5c -[ 128.540935] invoke_syscall+0x50/0x130 -[ 128.545508] el0_svc_common.constprop.0+0x10c/0x124 -[ 128.551205] do_el0_svc+0x34/0xdc -[ 128.555347] el0_svc+0x20/0x30 -[ 128.559227] el0_sync_handler+0xb8/0xc0 -[ 128.563883] el0_sync+0x160/0x180 - -Fixes: 0bf5eb788512 ("net: hns3: add support for PTP") -Signed-off-by: Jie Wang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -index 507d7ce26d83..0ddf102c76f7 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c -@@ -58,6 +58,9 @@ bool hclge_ptp_set_tx_info(struct hnae3_handle *handle, struct sk_buff *skb) - struct hclge_dev *hdev = vport->back; - struct hclge_ptp *ptp = hdev->ptp; - -+ if (!ptp) -+ return false; -+ - if (!test_bit(HCLGE_PTP_FLAG_TX_EN, &ptp->flags) || - test_and_set_bit(HCLGE_STATE_PTP_TX_HANDLING, &hdev->state)) { - ptp->tx_skipped++; --- -2.39.5 - diff --git a/queue-6.6/net-hns3-fix-missing-features-due-to-dev-features-co.patch b/queue-6.6/net-hns3-fix-missing-features-due-to-dev-features-co.patch deleted file mode 100644 index 69b1465d5ca..00000000000 --- a/queue-6.6/net-hns3-fix-missing-features-due-to-dev-features-co.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 59411264b78e775eb2621549ae53822383e213e6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:33 +0800 -Subject: net: hns3: fix missing features due to dev->features configuration - too early - -From: Hao Lan - -[ Upstream commit 662ecfc46690e92cf630f51b5d4bbbcffe102980 ] - -Currently, the netdev->features is configured in hns3_nic_set_features. -As a result, __netdev_update_features considers that there is no feature -difference, and the procedures of the real features are missing. - -Fixes: 2a7556bb2b73 ("net: hns3: implement ndo_features_check ops for hns3 driver") -Signed-off-by: Hao Lan -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -index 14d086b535a2..bb9f34239278 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c -@@ -2456,7 +2456,6 @@ static int hns3_nic_set_features(struct net_device *netdev, - return ret; - } - -- netdev->features = features; - return 0; - } - --- -2.39.5 - diff --git a/queue-6.6/net-hns3-fixed-hclge_fetch_pf_reg-accesses-bar-space.patch b/queue-6.6/net-hns3-fixed-hclge_fetch_pf_reg-accesses-bar-space.patch deleted file mode 100644 index 4e747243e45..00000000000 --- a/queue-6.6/net-hns3-fixed-hclge_fetch_pf_reg-accesses-bar-space.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 37fb9ea98dc6ec323752308cfe9c835770e38dfe Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:37 +0800 -Subject: net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds - issue - -From: Hao Lan - -[ Upstream commit 3e22b7de34cbdb991a2c9c5413eeb8a6fb7da2a5 ] - -The TQP BAR space is divided into two segments. TQPs 0-1023 and TQPs -1024-1279 are in different BAR space addresses. However, -hclge_fetch_pf_reg does not distinguish the tqp space information when -reading the tqp space information. When the number of TQPs is greater -than 1024, access bar space overwriting occurs. -The problem of different segments has been considered during the -initialization of tqp.io_base. Therefore, tqp.io_base is directly used -when the queue is read in hclge_fetch_pf_reg. - -The error message: - -Unable to handle kernel paging request at virtual address ffff800037200000 -pc : hclge_fetch_pf_reg+0x138/0x250 [hclge] -lr : hclge_get_regs+0x84/0x1d0 [hclge] -Call trace: - hclge_fetch_pf_reg+0x138/0x250 [hclge] - hclge_get_regs+0x84/0x1d0 [hclge] - hns3_get_regs+0x2c/0x50 [hns3] - ethtool_get_regs+0xf4/0x270 - dev_ethtool+0x674/0x8a0 - dev_ioctl+0x270/0x36c - sock_do_ioctl+0x110/0x2a0 - sock_ioctl+0x2ac/0x530 - __arm64_sys_ioctl+0xa8/0x100 - invoke_syscall+0x4c/0x124 - el0_svc_common.constprop.0+0x140/0x15c - do_el0_svc+0x30/0xd0 - el0_svc+0x1c/0x2c - el0_sync_handler+0xb0/0xb4 - el0_sync+0x168/0x180 - -Fixes: 939ccd107ffc ("net: hns3: move dump regs function to a separate file") -Signed-off-by: Hao Lan -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c | 9 +++++---- - .../net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c | 9 +++++---- - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c -index 43c1c18fa81f..8c057192aae6 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c -@@ -510,9 +510,9 @@ static int hclge_get_dfx_reg(struct hclge_dev *hdev, void *data) - static int hclge_fetch_pf_reg(struct hclge_dev *hdev, void *data, - struct hnae3_knic_private_info *kinfo) - { --#define HCLGE_RING_REG_OFFSET 0x200 - #define HCLGE_RING_INT_REG_OFFSET 0x4 - -+ struct hnae3_queue *tqp; - int i, j, reg_num; - int data_num_sum; - u32 *reg = data; -@@ -533,10 +533,11 @@ static int hclge_fetch_pf_reg(struct hclge_dev *hdev, void *data, - reg_num = ARRAY_SIZE(ring_reg_addr_list); - for (j = 0; j < kinfo->num_tqps; j++) { - reg += hclge_reg_get_tlv(HCLGE_REG_TAG_RING, reg_num, reg); -+ tqp = kinfo->tqp[j]; - for (i = 0; i < reg_num; i++) -- *reg++ = hclge_read_dev(&hdev->hw, -- ring_reg_addr_list[i] + -- HCLGE_RING_REG_OFFSET * j); -+ *reg++ = readl_relaxed(tqp->io_base - -+ HCLGE_TQP_REG_OFFSET + -+ ring_reg_addr_list[i]); - } - data_num_sum += (reg_num + HCLGE_REG_TLV_SPACE) * kinfo->num_tqps; - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c -index 65b9dcd38137..6ecf936c79b2 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_regs.c -@@ -123,10 +123,10 @@ int hclgevf_get_regs_len(struct hnae3_handle *handle) - void hclgevf_get_regs(struct hnae3_handle *handle, u32 *version, - void *data) - { --#define HCLGEVF_RING_REG_OFFSET 0x200 - #define HCLGEVF_RING_INT_REG_OFFSET 0x4 - - struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle); -+ struct hnae3_queue *tqp; - int i, j, reg_um; - u32 *reg = data; - -@@ -147,10 +147,11 @@ void hclgevf_get_regs(struct hnae3_handle *handle, u32 *version, - reg_um = sizeof(ring_reg_addr_list) / sizeof(u32); - for (j = 0; j < hdev->num_tqps; j++) { - reg += hclgevf_reg_get_tlv(HCLGEVF_REG_TAG_RING, reg_um, reg); -+ tqp = &hdev->htqp[j].q; - for (i = 0; i < reg_um; i++) -- *reg++ = hclgevf_read_dev(&hdev->hw, -- ring_reg_addr_list[i] + -- HCLGEVF_RING_REG_OFFSET * j); -+ *reg++ = readl_relaxed(tqp->io_base - -+ HCLGEVF_TQP_REG_OFFSET + -+ ring_reg_addr_list[i]); - } - - reg_um = sizeof(tqp_intr_reg_addr_list) / sizeof(u32); --- -2.39.5 - diff --git a/queue-6.6/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch b/queue-6.6/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch deleted file mode 100644 index d2141b3bf3b..00000000000 --- a/queue-6.6/net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 208faf518f9ebe2722db758140247893a69f028c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:36 +0800 -Subject: net: hns3: initialize reset_timer before hclgevf_misc_irq_init() - -From: Jian Shen - -[ Upstream commit d1c2e2961ab460ac2433ff8ad46000582abc573c ] - -Currently the misc irq is initialized before reset_timer setup. But -it will access the reset_timer in the irq handler. So initialize -the reset_timer earlier. - -Fixes: ff200099d271 ("net: hns3: remove unnecessary work in hclgevf_main") -Signed-off-by: Jian Shen -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -index affdd9d70549..46163c2d7c7c 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c -@@ -2252,6 +2252,7 @@ static void hclgevf_state_init(struct hclgevf_dev *hdev) - clear_bit(HCLGEVF_STATE_RST_FAIL, &hdev->state); - - INIT_DELAYED_WORK(&hdev->service_task, hclgevf_service_task); -+ timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - mutex_init(&hdev->mbx_resp.mbx_mutex); - sema_init(&hdev->reset_sem, 1); -@@ -2948,7 +2949,6 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev) - HCLGEVF_DRIVER_NAME); - - hclgevf_task_schedule(hdev, round_jiffies_relative(HZ)); -- timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); - - return 0; - --- -2.39.5 - diff --git a/queue-6.6/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch b/queue-6.6/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch deleted file mode 100644 index 547ccb3b4da..00000000000 --- a/queue-6.6/net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 02f7387120cf972c3ab0a6102c43ab545c03a239 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Oct 2024 17:29:34 +0800 -Subject: net: hns3: Resolved the issue that the debugfs query result is - inconsistent. - -From: Hao Lan - -[ Upstream commit 2758f18a83ef283d50c0566d3f672621cc658a1a ] - -This patch modifies the implementation of debugfs: -When the user process stops unexpectedly, not all data of the file system -is read. In this case, the save_buf pointer is not released. When the user -process is called next time, save_buf is used to copy the cached data -to the user space. As a result, the queried data is inconsistent. To solve -this problem, determine whether the function is invoked for the first time -based on the value of *ppos. If *ppos is 0, obtain the actual data. - -Fixes: 5e69ea7ee2a6 ("net: hns3: refactor the debugfs process") -Signed-off-by: Hao Lan -Signed-off-by: Guangwei Zhang -Signed-off-by: Jijie Shao -Signed-off-by: Paolo Abeni -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -index 4f385a18d288..9dbb8e8d2a23 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c -@@ -1288,8 +1288,10 @@ static ssize_t hns3_dbg_read(struct file *filp, char __user *buffer, - - /* save the buffer addr until the last read operation */ - *save_buf = read_buf; -+ } - -- /* get data ready for the first time to read */ -+ /* get data ready for the first time to read */ -+ if (!*ppos) { - ret = hns3_dbg_read_cmd(dbg_data, hns3_dbg_cmd[index].cmd, - read_buf, hns3_dbg_cmd[index].buf_len); - if (ret) --- -2.39.5 - diff --git a/queue-6.6/series b/queue-6.6/series index 38e47c43d18..a9828db812c 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -35,12 +35,6 @@ bluetooth-hci_sync-fix-not-setting-random-address-wh.patch bluetooth-mgmt-fix-add-device-to-responding-before-c.patch bluetooth-btnxpuart-fix-driver-sending-truncated-dat.patch tcp-annotate-data-race-around-sk-sk_mark-in-tcp_v4_s.patch -net-hns3-fix-missing-features-due-to-dev-features-co.patch -net-hns3-resolved-the-issue-that-the-debugfs-query-r.patch -net-hns3-don-t-auto-enable-misc-vector.patch -net-hns3-initialize-reset_timer-before-hclgevf_misc_.patch -net-hns3-fixed-hclge_fetch_pf_reg-accesses-bar-space.patch -net-hns3-fix-kernel-crash-when-1588-is-sent-on-hip08.patch netfilter-nf_tables-imbalance-in-flowtable-binding.patch netfilter-conntrack-clamp-maximum-hashtable-size-to-.patch sched-sch_cake-add-bounds-checks-to-host-bulk-flow-f.patch