diff options
Diffstat (limited to 'common/cmd_mii.c')
-rw-r--r-- | common/cmd_mii.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/common/cmd_mii.c b/common/cmd_mii.c index 18fad1e34f..94874ddfe0 100644 --- a/common/cmd_mii.c +++ b/common/cmd_mii.c @@ -81,7 +81,7 @@ int do_mii (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) * check info/read/write. */ if (op == 'i') { - int j; + unsigned char j, start, end; unsigned int oui; unsigned char model; unsigned char rev; @@ -89,7 +89,13 @@ int do_mii (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) /* * Look for any and all PHYs. Valid addresses are 0..31. */ - for (j = 0; j < 32; j++) { + if (argc >= 3) { + start = addr; end = addr + 1; + } else { + start = 0; end = 32; + } + + for (j = start; j < end; j++) { if (miiphy_info (j, &oui, &model, &rev) == 0) { printf ("PHY 0x%02X: " "OUI = 0x%04X, " |