Skip to content

Commit f286fee

Browse files
committed
idpf: fix idpf_vport_splitq_napi_poll()
jira LE-3467 Rebuild_History Non-Buildable kernel-4.18.0-553.58.1.el8_10 commit-author Eric Dumazet <edumazet@google.com> commit 407e0ef Empty-Commit: Cherry-Pick Conflicts during history rebuild. Will be included in final tarball splat. Ref for failed cherry-pick at: ciq/ciq_backports/kernel-4.18.0-553.58.1.el8_10/407e0efd.failed idpf_vport_splitq_napi_poll() can incorrectly return @Budget after napi_complete_done() has been called. This violates NAPI rules, because after napi_complete_done(), current thread lost napi ownership. Move the test against POLL_MODE before the napi_complete_done(). Fixes: c2d548c ("idpf: add TX splitq napi poll support") Reported-by: Peter Newman <peternewman@google.com> Closes: https://lore.kernel.org/netdev/20250520121908.1805732-1-edumazet@google.com/T/#u Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Joshua Hay <joshua.a.hay@intel.com> Cc: Alan Brady <alan.brady@intel.com> Cc: Madhu Chittim <madhu.chittim@intel.com> Cc: Phani Burra <phani.r.burra@intel.com> Cc: Pavan Kumar Linga <pavan.kumar.linga@intel.com> Link: https://patch.msgid.link/20250520124030.1983936-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit 407e0ef) Signed-off-by: Jonathan Maple <jmaple@ciq.com> # Conflicts: # drivers/net/ethernet/intel/idpf/idpf_txrx.c
1 parent 740c452 commit f286fee

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
idpf: fix idpf_vport_splitq_napi_poll()
2+
3+
jira LE-3467
4+
Rebuild_History Non-Buildable kernel-4.18.0-553.58.1.el8_10
5+
commit-author Eric Dumazet <edumazet@google.com>
6+
commit 407e0efdf8baf1672876d5948b75049860a93e59
7+
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
8+
Will be included in final tarball splat. Ref for failed cherry-pick at:
9+
ciq/ciq_backports/kernel-4.18.0-553.58.1.el8_10/407e0efd.failed
10+
11+
idpf_vport_splitq_napi_poll() can incorrectly return @budget
12+
after napi_complete_done() has been called.
13+
14+
This violates NAPI rules, because after napi_complete_done(),
15+
current thread lost napi ownership.
16+
17+
Move the test against POLL_MODE before the napi_complete_done().
18+
19+
Fixes: c2d548cad150 ("idpf: add TX splitq napi poll support")
20+
Reported-by: Peter Newman <peternewman@google.com>
21+
Closes: https://lore.kernel.org/netdev/20250520121908.1805732-1-edumazet@google.com/T/#u
22+
Signed-off-by: Eric Dumazet <edumazet@google.com>
23+
Cc: Joshua Hay <joshua.a.hay@intel.com>
24+
Cc: Alan Brady <alan.brady@intel.com>
25+
Cc: Madhu Chittim <madhu.chittim@intel.com>
26+
Cc: Phani Burra <phani.r.burra@intel.com>
27+
Cc: Pavan Kumar Linga <pavan.kumar.linga@intel.com>
28+
Link: https://patch.msgid.link/20250520124030.1983936-1-edumazet@google.com
29+
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
30+
(cherry picked from commit 407e0efdf8baf1672876d5948b75049860a93e59)
31+
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
32+
33+
# Conflicts:
34+
# drivers/net/ethernet/intel/idpf/idpf_txrx.c
35+
diff --cc drivers/net/ethernet/intel/idpf/idpf_txrx.c
36+
index 7501a74f8dd9,2d5f5c9f91ce..000000000000
37+
--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
38+
+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
39+
@@@ -3926,15 -4043,7 +3934,19 @@@ static int idpf_vport_splitq_napi_poll(
40+
else
41+
idpf_vport_intr_set_wb_on_itr(q_vector);
42+
43+
++<<<<<<< HEAD
44+
+ /* Switch to poll mode in the tear-down path after sending disable
45+
+ * queues virtchnl message, as the interrupts will be disabled after
46+
+ * that
47+
+ */
48+
+ if (unlikely(q_vector->num_txq && test_bit(__IDPF_Q_POLL_MODE,
49+
+ q_vector->tx[0]->flags)))
50+
+ return budget;
51+
+ else
52+
+ return work_done;
53+
++=======
54+
+ return work_done;
55+
++>>>>>>> 407e0efdf8ba (idpf: fix idpf_vport_splitq_napi_poll())
56+
}
57+
58+
/**
59+
* Unmerged path drivers/net/ethernet/intel/idpf/idpf_txrx.c

0 commit comments

Comments
 (0)