static int debug = 0;
 module_param(debug, int, 0644);
 
+static int checkecc = 0;
+module_param(checkecc, int, 0644);
+
 /* Hrm. Why isn't this already conditional on something in the struct device? */
 #define cafe_dev_dbg(dev, args...) do { if (debug) dev_dbg(dev, ##args); } while(0)
 
                writel(cafe->ctl2 | 0x100 | NAND_CMD_READSTART, cafe->mmio + CAFE_NAND_CTRL2);
 
  do_command:
-#if 1
+#if 0
        /* http://dev.laptop.org/ticket/200
           ECC on read only works if we read precisely 0x80e bytes */
        if (cafe->datalen == 2112)
        chip->read_buf(mtd, buf, mtd->writesize);
        chip->read_buf(mtd, chip->oob_poi, mtd->oobsize);
 
-       if (readl(cafe->mmio + CAFE_NAND_ECC_RESULT) & (1<<18)) {
+       if (checkecc && readl(cafe->mmio + CAFE_NAND_ECC_RESULT) & (1<<18)) {
                unsigned short syn[8];
                int i;