cmd: sata: fix init command return value
Since commitaa6ab905b2
, 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>
This commit is contained in:
@@ -28,14 +28,15 @@ static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||||||
if (sata_curr_device != -1)
|
if (sata_curr_device != -1)
|
||||||
sata_stop();
|
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 the user has not yet run `sata init`, do it now */
|
||||||
if (sata_curr_device == -1) {
|
if (sata_curr_device == -1) {
|
||||||
rc = sata_initialize();
|
rc = sata_initialize();
|
||||||
if (rc == -1)
|
if (rc == -1)
|
||||||
return rc;
|
return CMD_RET_FAILURE;
|
||||||
sata_curr_device = rc;
|
sata_curr_device = rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user