Re: [PATCH net] devlink: Remove extra assertion from flash notification logic

From: Jakub Kicinski
Date: Mon Nov 15 2021 - 18:07:39 EST


On Mon, 15 Nov 2021 20:07:47 +0200 Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@xxxxxxxxxx>
>
> The mlxsw driver calls to various devlink flash routines even before
> users can get any access to the devlink instance itself. For example,
> mlxsw_core_fw_rev_validate() one of such functions.
>
> It causes to the WARN_ON to trigger warning about devlink not
> registered, while the flow is valid.

So the fix is to remove the warning and keep generating notifications
about objects which to the best understanding of the user space do not
exist?

> diff --git a/net/core/devlink.c b/net/core/devlink.c
> index 5ba4f9434acd..6face738b16a 100644
> --- a/net/core/devlink.c
> +++ b/net/core/devlink.c
> @@ -4229,7 +4229,6 @@ static void __devlink_flash_update_notify(struct devlink *devlink,
> WARN_ON(cmd != DEVLINK_CMD_FLASH_UPDATE &&
> cmd != DEVLINK_CMD_FLASH_UPDATE_END &&
> cmd != DEVLINK_CMD_FLASH_UPDATE_STATUS);
> - WARN_ON(!xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED));
>
> msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
> if (!msg)