From 8547f45bc54b1a96bfa539f3e1070c5046c54764 Mon Sep 17 00:00:00 2001 From: Gary Bisson Date: Wed, 11 Jan 2017 16:51:53 +0100 Subject: [PATCH] cmd: sata: fix init command return value Since commit aa6ab905b2, sata_initialize returns -1 if init_sata or scan_sata fails. But this return value becomes the do_sata return value which is equivalent to CMD_RET_USAGE. In case one issues 'sata init' and that the hardware fails to initialize, there's no need to display the command usage. Instead the command shoud just return the CMD_RET_FAILURE value. Fixes: aa6ab905b2 (sata: fix sata command can not being executed bug) Signed-off-by: Gary Bisson Reviewed-by: Eric Nelson Reviewed-by: Simon Glass --- cmd/sata.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/sata.c b/cmd/sata.c index f56622a..4c53022 100644 --- a/cmd/sata.c +++ b/cmd/sata.c @@ -28,14 +28,15 @@ static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (sata_curr_device != -1) sata_stop(); - return sata_initialize(); + return (sata_initialize() < 0) ? + CMD_RET_FAILURE : CMD_RET_SUCCESS; } /* If the user has not yet run `sata init`, do it now */ if (sata_curr_device == -1) { rc = sata_initialize(); if (rc == -1) - return rc; + return CMD_RET_FAILURE; sata_curr_device = rc; }