]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop 1 patch from queue-5.15 and queue-5.10 based on RC review feedback master
authorSasha Levin <sashal@kernel.org>
Thu, 16 Apr 2026 13:31:36 +0000 (09:31 -0400)
committerSasha Levin <sashal@kernel.org>
Thu, 16 Apr 2026 13:31:36 +0000 (09:31 -0400)
Dropped patches:

- "gve: defer interrupt enabling until NAPI registration"
  Queues: 5.10, 5.15
  Reason: backport ordering error — disable_irq() placed after netif_napi_del() instead of before, reversing the upstream ordering and undermining the patch's purpose
  Report: https://lore.kernel.org/stable/9c5431bb22e2c1470f608a60f872c441c21550ff.camel@decadent.org.uk/

queue-5.10/gve-defer-interrupt-enabling-until-napi-registration.patch [deleted file]
queue-5.10/series
queue-5.15/gve-defer-interrupt-enabling-until-napi-registration.patch [deleted file]
queue-5.15/series

diff --git a/queue-5.10/gve-defer-interrupt-enabling-until-napi-registration.patch b/queue-5.10/gve-defer-interrupt-enabling-until-napi-registration.patch
deleted file mode 100644 (file)
index 2a59032..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-From 3d970eda003441f66551a91fda16478ac0711617 Mon Sep 17 00:00:00 2001
-From: Ankit Garg <nktgrg@google.com>
-Date: Fri, 19 Dec 2025 10:29:45 +0000
-Subject: gve: defer interrupt enabling until NAPI registration
-
-From: Ankit Garg <nktgrg@google.com>
-
-commit 3d970eda003441f66551a91fda16478ac0711617 upstream.
-
-Currently, interrupts are automatically enabled immediately upon
-request. This allows interrupt to fire before the associated NAPI
-context is fully initialized and cause failures like below:
-
-[    0.946369] Call Trace:
-[    0.946369]  <IRQ>
-[    0.946369]  __napi_poll+0x2a/0x1e0
-[    0.946369]  net_rx_action+0x2f9/0x3f0
-[    0.946369]  handle_softirqs+0xd6/0x2c0
-[    0.946369]  ? handle_edge_irq+0xc1/0x1b0
-[    0.946369]  __irq_exit_rcu+0xc3/0xe0
-[    0.946369]  common_interrupt+0x81/0xa0
-[    0.946369]  </IRQ>
-[    0.946369]  <TASK>
-[    0.946369]  asm_common_interrupt+0x22/0x40
-[    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10
-
-Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto
-enablement and explicitly enable the interrupt in NAPI initialization
-path (and disable it during NAPI teardown).
-
-This ensures that interrupt lifecycle is strictly coupled with
-readiness of NAPI context.
-
-Cc: stable@vger.kernel.org
-Fixes: 1dfc2e46117e ("gve: Refactor napi add and remove functions")
-Signed-off-by: Ankit Garg <nktgrg@google.com>
-Reviewed-by: Jordan Rhee <jordanrhee@google.com>
-Reviewed-by: Joshua Washington <joshwash@google.com>
-Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
-Link: https://patch.msgid.link/20251219102945.2193617-1-hramamurthy@google.com
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-[ modified to re-introduce the irq member to struct gve_notify_block,
-  which was introuduced in commit 9a5e0776d11f ("gve: Avoid rescheduling
-  napi if on wrong cpu"). ]
-Signed-off-by: Joshua Washington <joshwash@google.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/google/gve/gve.h      |    1 +
- drivers/net/ethernet/google/gve/gve_main.c |    5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/google/gve/gve.h
-+++ b/drivers/net/ethernet/google/gve/gve.h
-@@ -165,6 +165,7 @@ struct gve_notify_block {
-       struct gve_priv *priv;
-       struct gve_tx_ring *tx; /* tx rings on this block */
-       struct gve_rx_ring *rx; /* rx rings on this block */
-+      u32 irq;
- } ____cacheline_aligned;
- /* Tracks allowed and current queue settings */
---- a/drivers/net/ethernet/google/gve/gve_main.c
-+++ b/drivers/net/ethernet/google/gve/gve_main.c
-@@ -277,8 +277,9 @@ static int gve_alloc_notify_blocks(struc
-               snprintf(block->name, sizeof(block->name), "%s-ntfy-block.%d",
-                        name, i);
-               block->priv = priv;
-+              block->irq = priv->msix_vectors[msix_idx].vector;
-               err = request_irq(priv->msix_vectors[msix_idx].vector,
--                                gve_intr, 0, block->name, block);
-+                                gve_intr, IRQF_NO_AUTOEN, block->name, block);
-               if (err) {
-                       dev_err(&priv->pdev->dev,
-                               "Failed to receive msix vector %d\n", i);
-@@ -413,6 +414,7 @@ static void gve_add_napi(struct gve_priv
-       netif_napi_add(priv->dev, &block->napi, gve_napi_poll,
-                      NAPI_POLL_WEIGHT);
-+      enable_irq(block->irq);
- }
- static void gve_remove_napi(struct gve_priv *priv, int ntfy_idx)
-@@ -420,6 +422,7 @@ static void gve_remove_napi(struct gve_p
-       struct gve_notify_block *block = &priv->ntfy_blocks[ntfy_idx];
-       netif_napi_del(&block->napi);
-+      disable_irq(block->irq);
- }
- static int gve_register_qpls(struct gve_priv *priv)
index 551a46b794d3e00a4d0fa675831107f90cd5f33d..6badd557219279cce8ed9165f735f547aff642c3 100644 (file)
@@ -145,7 +145,6 @@ serial-8250-fix-tx-deadlock-when-using-dma.patch
 serial-8250-add-late-synchronize_irq-to-shutdown-to-handle-dw-uart-busy.patch
 drm-radeon-apply-state-adjust-rules-to-some-additional-hainan-vairants.patch
 net-handle-napi_schedule-calls-from-non-interrupt.patch
-gve-defer-interrupt-enabling-until-napi-registration.patch
 drm-exynos-vidi-use-priv-vidi_dev-for-ctx-lookup-in-vidi_connection_ioctl.patch
 drm-exynos-vidi-fix-to-avoid-directly-dereferencing-user-pointer.patch
 drm-exynos-vidi-use-ctx-lock-to-protect-struct-vidi_context-member-variables-related-to-memory-alloc-free.patch
diff --git a/queue-5.15/gve-defer-interrupt-enabling-until-napi-registration.patch b/queue-5.15/gve-defer-interrupt-enabling-until-napi-registration.patch
deleted file mode 100644 (file)
index b119b59..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-From 3d970eda003441f66551a91fda16478ac0711617 Mon Sep 17 00:00:00 2001
-From: Ankit Garg <nktgrg@google.com>
-Date: Fri, 19 Dec 2025 10:29:45 +0000
-Subject: gve: defer interrupt enabling until NAPI registration
-
-From: Ankit Garg <nktgrg@google.com>
-
-commit 3d970eda003441f66551a91fda16478ac0711617 upstream.
-
-Currently, interrupts are automatically enabled immediately upon
-request. This allows interrupt to fire before the associated NAPI
-context is fully initialized and cause failures like below:
-
-[    0.946369] Call Trace:
-[    0.946369]  <IRQ>
-[    0.946369]  __napi_poll+0x2a/0x1e0
-[    0.946369]  net_rx_action+0x2f9/0x3f0
-[    0.946369]  handle_softirqs+0xd6/0x2c0
-[    0.946369]  ? handle_edge_irq+0xc1/0x1b0
-[    0.946369]  __irq_exit_rcu+0xc3/0xe0
-[    0.946369]  common_interrupt+0x81/0xa0
-[    0.946369]  </IRQ>
-[    0.946369]  <TASK>
-[    0.946369]  asm_common_interrupt+0x22/0x40
-[    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10
-
-Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto
-enablement and explicitly enable the interrupt in NAPI initialization
-path (and disable it during NAPI teardown).
-
-This ensures that interrupt lifecycle is strictly coupled with
-readiness of NAPI context.
-
-Cc: stable@vger.kernel.org
-Fixes: 1dfc2e46117e ("gve: Refactor napi add and remove functions")
-Signed-off-by: Ankit Garg <nktgrg@google.com>
-Reviewed-by: Jordan Rhee <jordanrhee@google.com>
-Reviewed-by: Joshua Washington <joshwash@google.com>
-Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
-Link: https://patch.msgid.link/20251219102945.2193617-1-hramamurthy@google.com
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-[ modified to re-introduce the irq member to struct gve_notify_block,
-  which was introuduced in commit 9a5e0776d11f ("gve: Avoid rescheduling
-  napi if on wrong cpu"). ]
-Signed-off-by: Joshua Washington <joshwash@google.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/google/gve/gve.h      |    1 +
- drivers/net/ethernet/google/gve/gve_main.c |    5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/google/gve/gve.h
-+++ b/drivers/net/ethernet/google/gve/gve.h
-@@ -441,6 +441,7 @@ struct gve_notify_block {
-       struct gve_priv *priv;
-       struct gve_tx_ring *tx; /* tx rings on this block */
-       struct gve_rx_ring *rx; /* rx rings on this block */
-+      u32 irq;
- } ____cacheline_aligned;
- /* Tracks allowed and current queue settings */
---- a/drivers/net/ethernet/google/gve/gve_main.c
-+++ b/drivers/net/ethernet/google/gve/gve_main.c
-@@ -339,9 +339,10 @@ static int gve_alloc_notify_blocks(struc
-               snprintf(block->name, sizeof(block->name), "%s-ntfy-block.%d",
-                        name, i);
-               block->priv = priv;
-+              block->irq = priv->msix_vectors[msix_idx].vector;
-               err = request_irq(priv->msix_vectors[msix_idx].vector,
-                                 gve_is_gqi(priv) ? gve_intr : gve_intr_dqo,
--                                0, block->name, block);
-+                                IRQF_NO_AUTOEN, block->name, block);
-               if (err) {
-                       dev_err(&priv->pdev->dev,
-                               "Failed to receive msix vector %d\n", i);
-@@ -502,6 +503,7 @@ static void gve_add_napi(struct gve_priv
-       netif_napi_add(priv->dev, &block->napi, gve_poll,
-                      NAPI_POLL_WEIGHT);
-+      enable_irq(block->irq);
- }
- static void gve_remove_napi(struct gve_priv *priv, int ntfy_idx)
-@@ -509,6 +511,7 @@ static void gve_remove_napi(struct gve_p
-       struct gve_notify_block *block = &priv->ntfy_blocks[ntfy_idx];
-       netif_napi_del(&block->napi);
-+      disable_irq(block->irq);
- }
- static int gve_register_qpls(struct gve_priv *priv)
index 0e63f9690d83b5b230fee877c28b2bbb749ee637..fe8535e2edb1c37c99f09d4a23071e3f8ff2bad9 100644 (file)
@@ -211,7 +211,6 @@ mm-rmap-fix-two-comments-related-to-huge_pmd_unshare.patch
 mm-hugetlb-fix-excessive-ipi-broadcasts-when-unsharing-pmd-tables-using-mmu_gather.patch
 net-stmmac-dwmac-loongson-set-clk_csr_i-to-100-150mhz.patch
 net-handle-napi_schedule-calls-from-non-interrupt.patch
-gve-defer-interrupt-enabling-until-napi-registration.patch
 drm-exynos-vidi-use-priv-vidi_dev-for-ctx-lookup-in-vidi_connection_ioctl.patch
 drm-exynos-vidi-fix-to-avoid-directly-dereferencing-user-pointer.patch
 drm-exynos-vidi-use-ctx-lock-to-protect-struct-vidi_context-member-variables-related-to-memory-alloc-free.patch