diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c old mode 100644 new mode 100755 index e858d58..905ef39 --- a/drivers/mtd/nand/raw/meson_nand.c +++ b/drivers/mtd/nand/raw/meson_nand.c @@ -527,11 +527,12 @@ static void meson_nfc_dma_buffer_release(struct nand_chip *nand, static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len) { struct meson_nfc *nfc = nand_get_controller_data(nand); - int ret = 0; + int ret = 0, i; u32 cmd; u8 *info; - info = kzalloc(PER_INFO_BYTE, GFP_KERNEL); + info = kzalloc(2 * PER_INFO_BYTE, GFP_KERNEL); + memset(info, 0xFD, 2 * PER_INFO_BYTE); ret = meson_nfc_dma_buffer_setup(nand, buf, len, info, PER_INFO_BYTE, DMA_FROM_DEVICE); if (ret) @@ -543,6 +544,12 @@ static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len) meson_nfc_drain_cmd(nfc); meson_nfc_wait_cmd_finish(nfc, 1000); meson_nfc_dma_buffer_release(nand, len, PER_INFO_BYTE, DMA_FROM_DEVICE); + + for (i = 0; i < 2 * PER_INFO_BYTE; i++){ + printk("0x%x ", info[i]); + } + printk("\n"); + kfree(info); return ret;