A command called with incorrect parameters should set $? to 1 (false). Instead of calling cmd_usage(cmdtp) and then returning 0 just return CMD_RET_FAILURE.
Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> --- cmd/tlv_eeprom.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c index bf8d453dc5..4591ff336b 100644 --- a/cmd/tlv_eeprom.c +++ b/cmd/tlv_eeprom.c @@ -479,17 +479,14 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) show_tlv_devices(); break; default: - cmd_usage(cmdtp); - break; + return CMD_RET_USAGE; } return 0; } // The set command takes one or two args. - if (argc > 4) { - cmd_usage(cmdtp); - return 0; - } + if (argc > 4) + return CMD_RET_USAGE; // Set command. If the TLV exists in the EEPROM, delete it. Then if // data was supplied for this TLV add the TLV with the new contents at @@ -512,7 +509,7 @@ int do_tlv_eeprom(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) current_dev = devnum; has_been_read = 0; } else { - cmd_usage(cmdtp); + return CMD_RET_USAGE; } return 0; -- 2.38.1