
The command 'mtrr' does not recognize the 'list' subcommand any more since the code restructuring in commit b2a76b3fe75a ("x86: mtrr: Restructure so command execution is in one place").
The if-else parsing the command arguments does not take 'list' into account: the if-branch is intended for no subcommands, the else-branch is intended for the non-list subcommands (which all expect additional arguments). Calling the 'mtrr list' subcommand leads to a "return CMD_RET_USAGE" in the else-branch.
Fix this by changing the else-branch to explicitly checking for if (cmd != 'l').
Fixes: b2a76b3fe75a ("x86: mtrr: Restructure so command execution is in one place")
Signed-off-by: Wolfgang Wallner wolfgang.wallner@br-automation.com
---
cmd/x86/mtrr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/cmd/x86/mtrr.c b/cmd/x86/mtrr.c index e118bba5a2..99efecb9d8 100644 --- a/cmd/x86/mtrr.c +++ b/cmd/x86/mtrr.c @@ -121,7 +121,8 @@ static int do_mtrr(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 1 || !cmd) { cmd = 'l'; reg = 0; - } else { + } + if (cmd != 'l') { if (argc < 2) return CMD_RET_USAGE; reg = simple_strtoul(argv[1], NULL, 16);