diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c index 765a0d6..d5e642a 100644 --- a/drivers/mtd/nand/nand_omap_gpmc.c +++ b/drivers/mtd/nand/nand_omap_gpmc.c @@ -765,9 +765,6 @@ oinfo->ecc_mode = mode; - if (nand->buffers) - kfree(nand->buffers); - /* second phase scan */ if (nand_scan_tail(minfo)) return -ENXIO; @@ -897,6 +894,9 @@ /* Dont do a bbt scan at the start */ nand->options |= NAND_SKIP_BBTSCAN; + nand->options |= NAND_OWN_BUFFERS; + nand->buffers = xzalloc(sizeof(*nand->buffers)); + /* State my controller */ nand->controller = &oinfo->controller;