NAND: Fix misplaced return statement in nand_{read,write}_skip_bad().
authorScott Wood <scottwood@freescale.com>
Tue, 25 Nov 2008 16:47:02 +0000 (10:47 -0600)
committerScott Wood <scottwood@freescale.com>
Tue, 25 Nov 2008 16:47:02 +0000 (10:47 -0600)
This caused the operation to be needlessly repeated if there were
no bad blocks and no errors.

Signed-off-by: Valeriy Glushkov <gvv@lstec.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
drivers/mtd/nand/nand_util.c

index 149af83abd34aac37e46beda81de90d61ecd3808..d86c98737fe05ada1d57dc82fa02296253d4b0cb 100644 (file)
@@ -487,11 +487,11 @@ int nand_write_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
 
        if (len_incl_bad == *length) {
                rval = nand_write (nand, offset, length, buffer);
-               if (rval != 0) {
+               if (rval != 0)
                        printf ("NAND write to offset %x failed %d\n",
                                offset, rval);
-                       return rval;
-               }
+
+               return rval;
        }
 
        while (left_to_write > 0) {
@@ -557,11 +557,11 @@ int nand_read_skip_bad(nand_info_t *nand, size_t offset, size_t *length,
 
        if (len_incl_bad == *length) {
                rval = nand_read (nand, offset, length, buffer);
-               if (rval != 0) {
+               if (rval != 0)
                        printf ("NAND read from offset %x failed %d\n",
                                offset, rval);
-                       return rval;
-               }
+
+               return rval;
        }
 
        while (left_to_read > 0) {