gve: Recover from queue stall due to missed IRQ
authorJohn Fraker <jfraker@google.com>
Mon, 11 Oct 2021 15:36:47 +0000 (08:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:31 +0000 (19:16 +0100)
commitfd2c9032b88c7c8524801458fb02091caca3821d
tree4bd8d67f1380f634101b911514b310a748bab59c
parente5be2a62567fdb1bff9395686488df86533f9316
gve: Recover from queue stall due to missed IRQ

[ Upstream commit 87a7f321bb6a45e54b7d6c90d032ee5636a6ad97 ]

Don't always reset the driver on a TX timeout. Attempt to
recover by kicking the queue in case an IRQ was missed.

Fixes: 9e5f7d26a4c08 ("gve: Add workqueue and reset support")
Signed-off-by: John Fraker <jfraker@google.com>
Signed-off-by: David Awogbemila <awogbemila@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_adminq.h
drivers/net/ethernet/google/gve/gve_main.c