[U-Boot-Users] [PATCH] [PATCH] Fix "usb part" command

Christian Eggers ceggers at gmx.de
Fri Jun 27 19:46:51 CEST 2008


From: Christian Eggers <christian at p2400.wgnetz.xx>

Only print partition for selected device if user supplied the <dev> arg with the "usb part [dev]" command.

Signed-off-by: Christian Eggers <ceggers at gmx.de>
---
 common/cmd_usb.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index 9be86b8..ed51087 100644
--- a/common/cmd_usb.c
+++ b/common/cmd_usb.c
@@ -553,13 +553,24 @@ int do_usb (cmd_tbl_t *cmdtp, int flag,
 	}
 
 	if (strncmp(argv[1],"part",4) == 0) {
-		int devno, ok;
-		for (ok=0, devno=0; devno<USB_MAX_STOR_DEV; ++devno) {
+		int devno, ok = 0;
+		if (argc==2) {
+			for (devno=0; devno<USB_MAX_STOR_DEV; ++devno) {
+				stor_dev=usb_stor_get_dev(devno);
+				if (stor_dev->type!=DEV_TYPE_UNKNOWN) {
+					ok++;
+					if (devno)
+						printf("\n");
+					printf("print_part of %x\n",devno);
+					print_part(stor_dev);
+				}
+			}
+		}
+		else {
+			devno=simple_strtoul(argv[2], NULL, 16);
 			stor_dev=usb_stor_get_dev(devno);
 			if (stor_dev->type!=DEV_TYPE_UNKNOWN) {
 				ok++;
-				if (devno)
-					printf("\n");
 				printf("print_part of %x\n",devno);
 				print_part(stor_dev);
 			}
-- 
1.4.3.4





More information about the U-Boot mailing list