nand/denali: Add a page check in denali_read_page & denali_read_page_raw
authorChuanxiao Dong <chuanxiao.dong@intel.com>
Wed, 11 Aug 2010 10:19:23 +0000 (18:19 +0800)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 12 Aug 2010 10:10:40 +0000 (11:10 +0100)
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/denali.c

index 5f7c8c8..017cde4 100644 (file)
@@ -1149,6 +1149,13 @@ static int denali_read_page(struct mtd_info *mtd, struct nand_chip *chip,
                            INTR_STATUS0__ECC_ERR;
        bool check_erased_page = false;
 
+       if (page != denali->page) {
+               dev_err(&denali->dev->dev, "IN %s: page %d is not"
+                               " equal to denali->page %d, investigate!!",
+                               __func__, page, denali->page);
+               BUG();
+       }
+
        setup_ecc_for_xfer(denali, true, false);
 
        denali_enable_dma(denali, true);
@@ -1193,6 +1200,13 @@ static int denali_read_page_raw(struct mtd_info *mtd, struct nand_chip *chip,
        uint32_t irq_status = 0;
        uint32_t irq_mask = INTR_STATUS0__DMA_CMD_COMP;
 
+       if (page != denali->page) {
+               dev_err(&denali->dev->dev, "IN %s: page %d is not"
+                               " equal to denali->page %d, investigate!!",
+                               __func__, page, denali->page);
+               BUG();
+       }
+
        setup_ecc_for_xfer(denali, false, true);
        denali_enable_dma(denali, true);