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

From: Leon Romanovsky
Date: Wed Nov 17 2021 - 09:39:09 EST


On Wed, Nov 17, 2021 at 06:02:28AM -0800, Jakub Kicinski wrote:
> On Wed, 17 Nov 2021 15:23:18 +0200 Leon Romanovsky wrote:
> > > I'd drop these notifications, the user didn't ask to flash the device,
> > > it's just code reuse in the driver, right?
> >
> > Sorry, I missed your reply.
> >
> > I'm not sure about code reuse, from the code, it looks like attempt to
> > burn FW during mlxsw register.
> >
> > __mlxsw_core_bus_device_register
> > -> mlxsw_core_fw_rev_validate
> > -> mlxsw_core_fw_flash
> > -> mlxfw_firmware_flash
> > -> mlxfw_status_notify
> > -> devlink_flash_update_status_notify
> > -> __devlink_flash_update_notify
> > -> WARN_ON(...)
> >
> > The mlxfw_firmware_flash() routine is called by mlx5 too, so I can't
> > remove mlxfw_status_notify() calls without too much changes.
> >
> > Easiest solution was to remove WARN_ON(), because no one really
> > interested in these events anyway. I searched in github and didn't
> > find any user who listened to them.
>
> Drop in the core. Like this?

Of course, sorry for overlooking of such simple solution.
I'm sending new version right now.

Thanks

>
>
> 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));
> +
> + if (!xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED))
> + return;
>
> msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
> if (!msg)