* [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call
@ 2025-12-02 20:02 Harshitha Ramamurthy
2025-12-03 18:49 ` Simon Horman
2025-12-05 3:20 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 3+ messages in thread
From: Harshitha Ramamurthy @ 2025-12-02 20:02 UTC (permalink / raw)
To: netdev
Cc: joshwash, hramamurthy, andrew+netdev, davem, edumazet, kuba,
pabeni, richardcochran, willemb, pkaligineedi, thostet,
linux-kernel, Ankit Garg
From: Tim Hostetler <thostet@google.com>
commit 46e7860ef941 ("gve: Move ptp_schedule_worker to gve_init_clock")
moved the first invocation of the AQ command REPORT_NIC_TIMESTAMP to
gve_probe(). However, gve_init_clock() invoking REPORT_NIC_TIMESTAMP is
not valid until after gve_probe() invokes the AQ command
CONFIGURE_DEVICE_RESOURCES.
Failure to do so results in the following error:
gve 0000:00:07.0: failed to read NIC clock -11
This was missed earlier because the driver under test was loaded at
runtime instead of boot-time. The boot-time driver had already
initialized the device, causing the runtime driver to successfully call
gve_init_clock() incorrectly.
Fixes: 46e7860ef941 ("gve: Move ptp_schedule_worker to gve_init_clock")
Reviewed-by: Ankit Garg <nktgrg@google.com>
Signed-off-by: Tim Hostetler <thostet@google.com>
Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
---
drivers/net/ethernet/google/gve/gve_main.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
index ace4ff4c6b3a..8fc9ea930fdc 100644
--- a/drivers/net/ethernet/google/gve/gve_main.c
+++ b/drivers/net/ethernet/google/gve/gve_main.c
@@ -657,12 +657,9 @@ static int gve_setup_device_resources(struct gve_priv *priv)
err = gve_alloc_counter_array(priv);
if (err)
goto abort_with_rss_config_cache;
- err = gve_init_clock(priv);
- if (err)
- goto abort_with_counter;
err = gve_alloc_notify_blocks(priv);
if (err)
- goto abort_with_clock;
+ goto abort_with_counter;
err = gve_alloc_stats_report(priv);
if (err)
goto abort_with_ntfy_blocks;
@@ -693,10 +690,16 @@ static int gve_setup_device_resources(struct gve_priv *priv)
}
}
+ err = gve_init_clock(priv);
+ if (err) {
+ dev_err(&priv->pdev->dev, "Failed to init clock");
+ goto abort_with_ptype_lut;
+ }
+
err = gve_init_rss_config(priv, priv->rx_cfg.num_queues);
if (err) {
dev_err(&priv->pdev->dev, "Failed to init RSS config");
- goto abort_with_ptype_lut;
+ goto abort_with_clock;
}
err = gve_adminq_report_stats(priv, priv->stats_report_len,
@@ -708,6 +711,8 @@ static int gve_setup_device_resources(struct gve_priv *priv)
gve_set_device_resources_ok(priv);
return 0;
+abort_with_clock:
+ gve_teardown_clock(priv);
abort_with_ptype_lut:
kvfree(priv->ptype_lut_dqo);
priv->ptype_lut_dqo = NULL;
@@ -715,8 +720,6 @@ abort_with_stats_report:
gve_free_stats_report(priv);
abort_with_ntfy_blocks:
gve_free_notify_blocks(priv);
-abort_with_clock:
- gve_teardown_clock(priv);
abort_with_counter:
gve_free_counter_array(priv);
abort_with_rss_config_cache:
--
2.52.0.487.g5c8c507ade-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call
2025-12-02 20:02 [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call Harshitha Ramamurthy
@ 2025-12-03 18:49 ` Simon Horman
2025-12-05 3:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2025-12-03 18:49 UTC (permalink / raw)
To: Harshitha Ramamurthy
Cc: netdev, joshwash, andrew+netdev, davem, edumazet, kuba, pabeni,
richardcochran, willemb, pkaligineedi, thostet, linux-kernel,
Ankit Garg
On Tue, Dec 02, 2025 at 08:02:07PM +0000, Harshitha Ramamurthy wrote:
> From: Tim Hostetler <thostet@google.com>
>
> commit 46e7860ef941 ("gve: Move ptp_schedule_worker to gve_init_clock")
> moved the first invocation of the AQ command REPORT_NIC_TIMESTAMP to
> gve_probe(). However, gve_init_clock() invoking REPORT_NIC_TIMESTAMP is
> not valid until after gve_probe() invokes the AQ command
> CONFIGURE_DEVICE_RESOURCES.
>
> Failure to do so results in the following error:
>
> gve 0000:00:07.0: failed to read NIC clock -11
>
> This was missed earlier because the driver under test was loaded at
> runtime instead of boot-time. The boot-time driver had already
> initialized the device, causing the runtime driver to successfully call
> gve_init_clock() incorrectly.
>
> Fixes: 46e7860ef941 ("gve: Move ptp_schedule_worker to gve_init_clock")
> Reviewed-by: Ankit Garg <nktgrg@google.com>
> Signed-off-by: Tim Hostetler <thostet@google.com>
> Signed-off-by: Harshitha Ramamurthy <hramamurthy@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call
2025-12-02 20:02 [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call Harshitha Ramamurthy
2025-12-03 18:49 ` Simon Horman
@ 2025-12-05 3:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-12-05 3:20 UTC (permalink / raw)
To: Harshitha Ramamurthy
Cc: netdev, joshwash, andrew+netdev, davem, edumazet, kuba, pabeni,
richardcochran, willemb, pkaligineedi, thostet, linux-kernel,
nktgrg
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 2 Dec 2025 20:02:07 +0000 you wrote:
> From: Tim Hostetler <thostet@google.com>
>
> commit 46e7860ef941 ("gve: Move ptp_schedule_worker to gve_init_clock")
> moved the first invocation of the AQ command REPORT_NIC_TIMESTAMP to
> gve_probe(). However, gve_init_clock() invoking REPORT_NIC_TIMESTAMP is
> not valid until after gve_probe() invokes the AQ command
> CONFIGURE_DEVICE_RESOURCES.
>
> [...]
Here is the summary with links:
- [net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call
https://git.kernel.org/netdev/net/c/a479a27f4da4
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-12-05 3:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-02 20:02 [PATCH net-next] gve: Move gve_init_clock to after AQ CONFIGURE_DEVICE_RESOURCES call Harshitha Ramamurthy
2025-12-03 18:49 ` Simon Horman
2025-12-05 3:20 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).