From c002e39ae669403baf21a7e04473447387f6302d Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Wed, 30 Nov 2016 12:12:31 +0100 Subject: scsi: Change scsi_scan() to be able to return value With DM_SCSI this function will return more than one return value to cover errors. Suggested-by: Simon Glass Signed-off-by: Michal Simek Reviewed-by: Tom Rini Reviewed-by: Simon Glass --- cmd/scsi.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'cmd/scsi.c') diff --git a/cmd/scsi.c b/cmd/scsi.c index 387ca1a262..7442e6aef4 100644 --- a/cmd/scsi.c +++ b/cmd/scsi.c @@ -27,6 +27,8 @@ int do_scsiboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) */ int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { + int ret; + switch (argc) { case 0: case 1: @@ -35,8 +37,10 @@ int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) if (strncmp(argv[1], "res", 3) == 0) { printf("\nReset SCSI\n"); scsi_bus_reset(); - scsi_scan(1); - return 0; + ret = scsi_scan(1); + if (ret) + return CMD_RET_FAILURE; + return ret; } if (strncmp(argv[1], "inf", 3) == 0) { blk_list_devices(IF_TYPE_SCSI); @@ -51,8 +55,10 @@ int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) return 0; } if (strncmp(argv[1], "scan", 4) == 0) { - scsi_scan(1); - return 0; + ret = scsi_scan(1); + if (ret) + return CMD_RET_FAILURE; + return ret; } if (strncmp(argv[1], "part", 4) == 0) { if (blk_list_part(IF_TYPE_SCSI)) -- cgit v1.2.3