diff mbox series

[iproute2-next,2/2] devlink: fix parallel flash notifications processing

Message ID 20220825080420.1282569-3-jiri@resnulli.us (mailing list archive)
State Accepted
Commit 2b392dac5be31c33b5ba16b3dbcf95899c9463fe
Delegated to: David Ahern
Headers show
Series devlink: allow parallel commands | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Jiri Pirko Aug. 25, 2022, 8:04 a.m. UTC
From: Jiri Pirko <jiri@nvidia.com>

Now that it is possible to flash multiple devlink instances in parallel,
the notification processing callback needs to count in the fact that it
receives message that belongs to different devlink instance. So handle
the it gracefully and don't error out.

Reported-by: Vikas Gupta <vikas.gupta@broadcom.com>
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
---
 devlink/devlink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/devlink/devlink.c b/devlink/devlink.c
index b2439aef4d10..4f77e42f2d48 100644
--- a/devlink/devlink.c
+++ b/devlink/devlink.c
@@ -3812,12 +3812,12 @@  static int cmd_dev_flash_status_cb(const struct nlmsghdr *nlh, void *data)
 
 	mnl_attr_parse(nlh, sizeof(*genl), attr_cb, tb);
 	if (!tb[DEVLINK_ATTR_BUS_NAME] || !tb[DEVLINK_ATTR_DEV_NAME])
-		return MNL_CB_ERROR;
+		return MNL_CB_STOP;
 	bus_name = mnl_attr_get_str(tb[DEVLINK_ATTR_BUS_NAME]);
 	dev_name = mnl_attr_get_str(tb[DEVLINK_ATTR_DEV_NAME]);
 	if (strcmp(bus_name, opts->bus_name) ||
 	    strcmp(dev_name, opts->dev_name))
-		return MNL_CB_ERROR;
+		return MNL_CB_STOP;
 
 	if (genl->cmd == DEVLINK_CMD_FLASH_UPDATE_END) {
 		pr_out("\n");