diff mbox

[U-Boot] cmd: sata: fix init command return value

Message ID 20170111155153.21311-1-gary.bisson@boundarydevices.com
State Accepted
Commit 8547f45bc54b1a96bfa539f3e1070c5046c54764
Delegated to: Tom Rini
Headers show

Commit Message

Gary Bisson Jan. 11, 2017, 3:51 p.m. UTC
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 <gary.bisson@boundarydevices.com>
---
 cmd/sata.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Eric Nelson Jan. 11, 2017, 4:28 p.m. UTC | #1
On 01/11/2017 08:51 AM, Gary Bisson wrote:
> 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.

s/shoud/should/

> 
> Fixes: aa6ab905b2 (sata: fix sata command can not being executed bug)
> 
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> ---
>  cmd/sata.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/cmd/sata.c b/cmd/sata.c
> index f56622acc2..4c53022ff6 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;
>  	}
>  
> 
Otherwise,

Reviewed-by: Eric Nelson <eric@nelint.com>
Simon Glass Jan. 12, 2017, 5:07 a.m. UTC | #2
On 11 January 2017 at 08:51, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
>
> 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 <gary.bisson@boundarydevices.com>
> ---
>  cmd/sata.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)


Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini Jan. 15, 2017, 6:32 p.m. UTC | #3
On Wed, Jan 11, 2017 at 04:51:53PM +0100, Gary Bisson wrote:

> 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 <gary.bisson@boundarydevices.com>
> Reviewed-by: Eric Nelson <eric@nelint.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/cmd/sata.c b/cmd/sata.c
index f56622acc2..4c53022ff6 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;
 	}