diff options
author | Christian Eggers <christian@p2400.wgnetz.xx> | 2008-06-27 17:46:51 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-07-10 10:24:29 (GMT) |
commit | d4b5f3fa001228d76e2c3380cedadf804b802c2a (patch) | |
tree | e51e16e6ebaff2a8bd6bff9391d8d9d49422ddc4 | |
parent | e73b5212e0463a3db0af0a5c95c75bfb762ca973 (diff) | |
download | u-boot-d4b5f3fa001228d76e2c3380cedadf804b802c2a.tar.xz |
Fix "usb part" command
Only print partition for selected device if user supplied the <dev>
arg with the "usb part [dev]" command.
Signed-off-by: Christian Eggers <ceggers@gmx.de>
Acked-by: Markus Klotzbuecher <mk@denx.de>
-rw-r--r-- | 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 f2795d3..30caa98 100644 --- a/common/cmd_usb.c +++ b/common/cmd_usb.c @@ -554,13 +554,24 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } 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); } |