Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3f8abf4 authored by David Woodhouse's avatar David Woodhouse
Browse files

[MTD NAND] Use vmalloc for buffer when scanning for bad blocks.



These new chips have 128KiB blocks. Don't try to kmalloc that.

Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 4992a9e8
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@
#include <linux/mtd/compatmac.h>
#include <linux/bitops.h>
#include <linux/delay.h>

#include <linux/vmalloc.h>

/**
 * check_pattern - [GENERIC] check if a pattern is in the buffer
@@ -873,7 +873,7 @@ int nand_scan_bbt (struct mtd_info *mtd, struct nand_bbt_descr *bd)
	/* Allocate a temporary buffer for one eraseblock incl. oob */
	len = (1 << this->bbt_erase_shift);
	len += (len >> this->page_shift) * mtd->oobsize;
	buf = kmalloc (len, GFP_KERNEL);
	buf = vmalloc(len);
	if (!buf) {
		printk (KERN_ERR "nand_bbt: Out of memory\n");
		kfree (this->bbt);
@@ -897,7 +897,7 @@ int nand_scan_bbt (struct mtd_info *mtd, struct nand_bbt_descr *bd)
	if (md)
		mark_bbt_region (mtd, md);

	kfree (buf);
	vfree (buf);
	return res;
}