Message ID | 20241113175930.2585680-1-jeroendb@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8ffade77b6337a8767fae9820d57d7a6413dd1a1 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,V2] gve: Flow steering trigger reset only for timeout error | expand |
On Wed, Nov 13, 2024 at 09:59:30AM -0800, Jeroen de Borst wrote: > From: Ziwei Xiao <ziweixiao@google.com> > > When configuring flow steering rules, the driver is currently going > through a reset for all errors from the device. Instead, the driver > should only reset when there's a timeout error from the device. > > Fixes: 57718b60df9b ("gve: Add flow steering adminq commands") > Cc: stable@vger.kernel.org > Signed-off-by: Ziwei Xiao <ziweixiao@google.com> > Signed-off-by: Jeroen de Borst <jeroendb@google.com> > Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com> > --- > v2: Added missing Signed-off-by Thanks for the update. Reviewed-by: Simon Horman <horms@kernel.org>
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 13 Nov 2024 09:59:30 -0800 you wrote: > From: Ziwei Xiao <ziweixiao@google.com> > > When configuring flow steering rules, the driver is currently going > through a reset for all errors from the device. Instead, the driver > should only reset when there's a timeout error from the device. > > Fixes: 57718b60df9b ("gve: Add flow steering adminq commands") > Cc: stable@vger.kernel.org > Signed-off-by: Ziwei Xiao <ziweixiao@google.com> > Signed-off-by: Jeroen de Borst <jeroendb@google.com> > Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com> > > [...] Here is the summary with links: - [net,V2] gve: Flow steering trigger reset only for timeout error https://git.kernel.org/netdev/net/c/8ffade77b633 You are awesome, thank you!
diff --git a/drivers/net/ethernet/google/gve/gve_adminq.c b/drivers/net/ethernet/google/gve/gve_adminq.c index e44e8b139633..060e0e674938 100644 --- a/drivers/net/ethernet/google/gve/gve_adminq.c +++ b/drivers/net/ethernet/google/gve/gve_adminq.c @@ -1248,10 +1248,10 @@ gve_adminq_configure_flow_rule(struct gve_priv *priv, sizeof(struct gve_adminq_configure_flow_rule), flow_rule_cmd); - if (err) { + if (err == -ETIME) { dev_err(&priv->pdev->dev, "Timeout to configure the flow rule, trigger reset"); gve_reset(priv, true); - } else { + } else if (!err) { priv->flow_rules_cache.rules_cache_synced = false; }