[patch]

From: Adrian Bunk (bunk@fs.tum.de)
Date: Wed Jul 30 2003 - 11:31:00 EST


gcc 3.3 correctly gives the following warning:

<-- snip -->

...
  CC drivers/mtd/ftl.o
drivers/mtd/ftl.c: In function `scan_header':
drivers/mtd/ftl.c:191: warning: comparison is always false due to
limited range
...

<-- snip -->

Looking at the code it seems gcc is correct, a 16bit number can _never_
be > 65536.

The following patch removes this comparison:

--- linux-2.6.0-test2-full/drivers/mtd/ftl.c.old 2003-07-30 13:04:05.000000000 +0200
+++ linux-2.6.0-test2-full/drivers/mtd/ftl.c 2003-07-30 13:04:13.000000000 +0200
@@ -188,7 +188,7 @@
         printk(KERN_NOTICE "ftl_cs: FTL header not found.\n");
         return -ENOENT;
     }
- if ((le16_to_cpu(header.NumEraseUnits) > 65536) || header.BlockSize != 9 ||
+ if (header.BlockSize != 9 ||
         (header.EraseUnitSize < 10) || (header.EraseUnitSize > 31) ||
         (header.NumTransferUnits >= le16_to_cpu(header.NumEraseUnits))) {
         printk(KERN_NOTICE "ftl_cs: FTL header corrupt!\n");

I've tested the compilation with 2.6.0-test2 and 2.4.22-pre9.

cu
Adrian

-- 

"Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:46 EST