Skip to content

Commit

Permalink
[MTD NAND] Use vmalloc for buffer when scanning for bad blocks.
Browse files Browse the repository at this point in the history
These new chips have 128KiB blocks. Don't try to kmalloc that.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
  • Loading branch information
David Woodhouse committed May 13, 2006
1 parent 4992a9e commit c3f8abf
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/mtd/nand/nand_bbt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand All @@ -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;
}

Expand Down

0 comments on commit c3f8abf

Please sign in to comment.