cmd_i2c.c: reduced subaddress length to 3 bytes
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>
Thu, 25 Feb 2010 09:12:12 +0000 (10:12 +0100)
committerWolfgang Denk <wd@denx.de>
Sun, 21 Mar 2010 21:44:42 +0000 (22:44 +0100)
according to some of the comments the subaddress length is 1 or 2, but we are being
prepared for the case it becomes 3. However the code also accepted 4.
This repairs this by changing the constand 4 to 3.

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
common/cmd_i2c.c

index 62cbd335e5a458e31b1ff8a9950b62ed6875e4af..7531702bf35e160380029f4fca3ec7a96c423cd1 100644 (file)
@@ -193,7 +193,7 @@ int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                for (j = 0; j < 8; j++) {
                        if (argv[2][j] == '.') {
                                alen = argv[2][j+1] - '0';
-                               if (alen > 4) {
+                               if (alen > 3) {
                                        cmd_usage(cmdtp);
                                        return 1;
                                }
@@ -287,7 +287,7 @@ int do_i2c_mw ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        for (j = 0; j < 8; j++) {
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
-                       if (alen > 4) {
+                       if (alen > 3) {
                                cmd_usage(cmdtp);
                                return 1;
                        }
@@ -361,7 +361,7 @@ int do_i2c_crc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        for (j = 0; j < 8; j++) {
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
-                       if (alen > 4) {
+                       if (alen > 3) {
                                cmd_usage(cmdtp);
                                return 1;
                        }
@@ -451,7 +451,7 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
                for (j = 0; j < 8; j++) {
                        if (argv[2][j] == '.') {
                                alen = argv[2][j+1] - '0';
-                               if (alen > 4) {
+                               if (alen > 3) {
                                        cmd_usage(cmdtp);
                                        return 1;
                                }
@@ -607,7 +607,7 @@ int do_i2c_loop(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        for (j = 0; j < 8; j++) {
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
-                       if (alen > 4) {
+                       if (alen > 3) {
                                cmd_usage(cmdtp);
                                return 1;
                        }