diff options
author | Christian Eggers <christian@p2400.wgnetz.xx> | 2008-06-27 19:46:51 +0200 |
---|---|---|
committer | John Rigby <jrigby@freescale.com> | 2008-07-10 10:53:04 -0600 |
commit | d4692b0ba83b7b454bbd92bad1f4befe6e1657b7 (patch) | |
tree | 59d35abf0b661bef68018e2137c174db0309bc22 | |
parent | cc83b27217f7380041fea386ddb6d6d9b261617d (diff) |
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 f2795d3f403..30caa98ea73 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); } |