summaryrefslogtreecommitdiff
path: root/common/cmd_usb.c
diff options
context:
space:
mode:
authorChristian Eggers <christian@p2400.wgnetz.xx>2008-06-27 19:46:51 +0200
committerWolfgang Denk <wd@denx.de>2008-07-10 12:24:29 +0200
commitd4b5f3fa001228d76e2c3380cedadf804b802c2a (patch)
treee51e16e6ebaff2a8bd6bff9391d8d9d49422ddc4 /common/cmd_usb.c
parente73b5212e0463a3db0af0a5c95c75bfb762ca973 (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>
Diffstat (limited to 'common/cmd_usb.c')
-rw-r--r--common/cmd_usb.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index f2795d3f40..30caa98ea7 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);
}