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

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Thu Sep 25 05:08:23 PDT 2025



On 25/09/2025 14:59, Ulf Hansson wrote:
> 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 <saravanak at google.com>
> Reported-by: Geert Uytterhoeven <geert at linux-m68k.org>
> Reported-by: Sebin Francis <sebin.francis at ti.com>
> Reported-by: Diederik de Haas <didi.debian at cknow.org>
> Reported-by: Jon Hunter <jonathanh at nvidia.com>
> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
> ---
>  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).

>  	sup->state_synced = true;
>  	get_device(sup);
>  	list_add_tail(&sup->links.defer_sync, data);

Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>

 Tomi




More information about the linux-arm-kernel mailing list