devlink: Fix error handling in param and info_get dumpit cb

If any of the param or info_get op returns error, dumpit cb is
skipping to dump remaining params or info_get ops for all the
drivers.

Fix to not return if any of the param/info_get op returns error
as not supported and continue to dump remaining information.

v2: Modify the patch to return error, except for params/info_get
op that return -EOPNOTSUPP as suggested by Andrew Lunn. Also, modify
commit message to reflect the same.

Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Jiri Pirko <jiri@mellanox.com>
Cc: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vasundhara Volam 2019-09-30 11:52:21 +05:30 committed by David S. Miller
parent f32eb9d804
commit 93c2fcb01a
1 changed files with 3 additions and 3 deletions

View File

@ -3172,7 +3172,7 @@ static int devlink_nl_cmd_param_get_dumpit(struct sk_buff *msg,
NETLINK_CB(cb->skb).portid, NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq, cb->nlh->nlmsg_seq,
NLM_F_MULTI); NLM_F_MULTI);
if (err) { if (err && err != -EOPNOTSUPP) {
mutex_unlock(&devlink->lock); mutex_unlock(&devlink->lock);
goto out; goto out;
} }
@ -3432,7 +3432,7 @@ static int devlink_nl_cmd_port_param_get_dumpit(struct sk_buff *msg,
NETLINK_CB(cb->skb).portid, NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq, cb->nlh->nlmsg_seq,
NLM_F_MULTI); NLM_F_MULTI);
if (err) { if (err && err != -EOPNOTSUPP) {
mutex_unlock(&devlink->lock); mutex_unlock(&devlink->lock);
goto out; goto out;
} }
@ -4088,7 +4088,7 @@ static int devlink_nl_cmd_info_get_dumpit(struct sk_buff *msg,
cb->nlh->nlmsg_seq, NLM_F_MULTI, cb->nlh->nlmsg_seq, NLM_F_MULTI,
cb->extack); cb->extack);
mutex_unlock(&devlink->lock); mutex_unlock(&devlink->lock);
if (err) if (err && err != -EOPNOTSUPP)
break; break;
idx++; idx++;
} }