]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gve: Fix stuck TX queue for DQ queue format
authorPraveen Kaligineedi <pkaligineedi@google.com>
Thu, 17 Jul 2025 19:20:24 +0000 (19:20 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 22 Jul 2025 00:14:12 +0000 (17:14 -0700)
commitb03f15c0192b184078206760c839054ae6eb4eaa
tree665d0668edb5e38020e3d46955d8ddb9927fb7cf
parent6c4a92d07b0850342d3becf2e608f805e972467c
gve: Fix stuck TX queue for DQ queue format

gve_tx_timeout was calculating missed completions in a way that is only
relevant in the GQ queue format. Additionally, it was attempting to
disable device interrupts, which is not needed in either GQ or DQ queue
formats.

As a result, TX timeouts with the DQ queue format likely would have
triggered early resets without kicking the queue at all.

This patch drops the check for pending work altogether and always kicks
the queue after validating the queue has not seen a TX timeout too
recently.

Cc: stable@vger.kernel.org
Fixes: 87a7f321bb6a ("gve: Recover from queue stall due to missed IRQ")
Co-developed-by: Tim Hostetler <thostet@google.com>
Signed-off-by: Tim Hostetler <thostet@google.com>
Signed-off-by: Praveen Kaligineedi <pkaligineedi@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Link: https://patch.msgid.link/20250717192024.1820931-1-hramamurthy@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/google/gve/gve_main.c