From f6b44e0e4d18fe507833a0f76d24a9aa72c123f1 Mon Sep 17 00:00:00 2001
From: Aras Vaichas <arasv@magtech.com.au>
Date: Tue, 25 Mar 2008 12:09:07 +1100
Subject: [PATCH] USB Storage, add meaningful return value

This patch changes the "usb storage" command to return success if it
finds a USB storage device, otherwise it returns error.

Signed-off-by: Markus Klotzbuecher <mk@denx.de>
---
 common/cmd_usb.c     | 3 +--
 common/usb_storage.c | 9 ++++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index c6b17c2ab7..ad3240708b 100644
--- a/common/cmd_usb.c
+++ b/common/cmd_usb.c
@@ -529,8 +529,7 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	}
 
 	if (strncmp(argv[1], "stor", 4) == 0) {
-		usb_stor_info();
-		return 0;
+		return usb_stor_info();
 	}
 
 	if (strncmp(argv[1],"part",4) == 0) {
diff --git a/common/usb_storage.c b/common/usb_storage.c
index 443d78574a..81d2f92100 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -188,17 +188,20 @@ void usb_show_progress(void)
  * show info on storage devices; 'usb start/init' must be invoked earlier
  * as we only retrieve structures populated during devices initialization
  */
-void usb_stor_info(void)
+int usb_stor_info(void)
 {
 	int i;
 
-	if (usb_max_devs > 0)
+	if (usb_max_devs > 0) {
 		for (i = 0; i < usb_max_devs; i++) {
 			printf ("  Device %d: ", i);
 			dev_print(&usb_dev_desc[i]);
+			return 0;
 		}
-	else
+	} else {
 		printf("No storage devices, perhaps not 'usb start'ed..?\n");
+		return 1;
+	}
 }
 
 /*********************************************************************************
-- 
2.39.5