Thread (10 messages) 10 messages, 5 authors, 2025-10-03

Re: [PATCH] driver core: fw_devlink: Don't warn in fw_devlink_dev_sync_state()

From: Ulf Hansson <hidden>
Date: 2025-09-25 13:21:04
Also in: linux-pm, lkml

On Thu, 25 Sept 2025 at 14:08, Tomi Valkeinen
[off-list ref] wrote:


On 25/09/2025 14:59, Ulf Hansson wrote:
quoted
Due to the wider deployment of the ->sync_state() support, for PM domains
for example, we are receiving reports about the messages that are being
logged in fw_devlink_dev_sync_state(). In particular as they are at the
warning level, which doesn't seem correct.

Even if it certainly is useful to know that the ->sync_state() condition
could not be met, there may be nothing wrong with it. For example, a driver
may be built as module and are still waiting to be initialized/probed.

Ideally these messages should be at the debug level, but since the
->sync_state() feature is under an ongoing deployment and the prints
provides valuable information, let's move to the info level for now.

Cc: Saravana Kannan <redacted>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reported-by: Sebin Francis <redacted>
Reported-by: Diederik de Haas <redacted>
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Ulf Hansson <redacted>
---
 drivers/base/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index d22d6b23e758..97eab79c2f3b 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1784,7 +1784,7 @@ static int fw_devlink_dev_sync_state(struct device *dev, void *data)
              return 0;

      if (fw_devlink_sync_state == FW_DEVLINK_SYNC_STATE_STRICT) {
-             dev_warn(sup, "sync_state() pending due to %s\n",
+             dev_info(sup, "sync_state() pending due to %s\n",
                       dev_name(link->consumer));
              return 0;
      }
@@ -1792,7 +1792,7 @@ static int fw_devlink_dev_sync_state(struct device *dev, void *data)
      if (!list_empty(&sup->links.defer_sync))
              return 0;

-     dev_warn(sup, "Timed out. Forcing sync_state()\n");
+     dev_info(sup, "Timed out. Forcing sync_state()\n");
I have no issue with this, but I also think that while the pending print
above could well be dev_dbg, this one is perhaps a bit more warning-ish.
It may be harmless to get the time-out, but it would be better not to
time-out (i.e. everything was already sync_stated, or startup scripts
handled forcing the sync state).
I agree. Perhaps we should consider moving the above "sync_state()
pending.." to dev_dbg at some later point, then we should probably
keep the "Timed out..." print at dev_info().

Anyway, I don't think using dev_warn makes sense, at least for
configurations with CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT being set.
quoted
      sup->state_synced = true;
      get_device(sup);
      list_add_tail(&sup->links.defer_sync, data);
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

 Tomi
Thanks for reviewing!

Kind regards
Uffe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help