diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c index b49a45f255f8..cdc426cd0a43 100644 --- a/drivers/mtd/nand/raw/meson_nand.c +++ b/drivers/mtd/nand/raw/meson_nand.c @@ -493,6 +493,7 @@ static int meson_nfc_dma_buffer_setup(struct nand_chip *nand, u8 *databuf, if (infobuf) { nfc->iaddr = dma_map_single(nfc->dev, infobuf, infolen, dir); + printk("%s 0x%08x\n", __func__, nfc->iaddr); ret = dma_mapping_error(nfc->dev, nfc->iaddr); if (ret) { dev_err(nfc->dev, "DMA mapping error\n"); @@ -528,10 +529,10 @@ static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len) u32 cmd; u8 *info; - info = kzalloc(PER_INFO_BYTE, GFP_KERNEL); + info = kzalloc(PER_INFO_BYTE + 64, GFP_KERNEL); if (!info) return -ENOMEM; - +printk("%s %px 0x%08x\n", __func__, info, virt_to_phys(info)); ret = meson_nfc_dma_buffer_setup(nand, buf, len, info, PER_INFO_BYTE, DMA_FROM_DEVICE); if (ret) @@ -545,7 +546,9 @@ static int meson_nfc_read_buf(struct nand_chip *nand, u8 *buf, int len) meson_nfc_dma_buffer_release(nand, len, PER_INFO_BYTE, DMA_FROM_DEVICE); out: +printk("%s: about to kfree info\n", __func__); kfree(info); +printk("%s: kfree'd info\n", __func__); return ret; }