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

Commit 69d79186 authored by Kyungmin Park's avatar Kyungmin Park
Browse files

[MTD] [OneNAND] Use pre-alloced oob buffer instead of local buffer

parent 978cb38a
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1217,7 +1217,7 @@ int onenand_bbt_read_oob(struct mtd_info *mtd, loff_t from,
static int onenand_verify_oob(struct mtd_info *mtd, const u_char *buf, loff_t to)
{
	struct onenand_chip *this = mtd->priv;
	u_char oobbuf[64];
	u_char *oob_buf = this->oob_buf;
	int status, i;

	this->command(mtd, ONENAND_CMD_READOOB, to, mtd->oobsize);
@@ -1226,9 +1226,9 @@ static int onenand_verify_oob(struct mtd_info *mtd, const u_char *buf, loff_t to
	if (status)
		return status;

	this->read_bufferram(mtd, ONENAND_SPARERAM, oobbuf, 0, mtd->oobsize);
	this->read_bufferram(mtd, ONENAND_SPARERAM, oob_buf, 0, mtd->oobsize);
	for (i = 0; i < mtd->oobsize; i++)
		if (buf[i] != 0xFF && buf[i] != oobbuf[i])
		if (buf[i] != 0xFF && buf[i] != oob_buf[i])
			return -EBADMSG;

	return 0;
@@ -2307,7 +2307,8 @@ static int onenand_write_user_prot_reg(struct mtd_info *mtd, loff_t from,
static int onenand_lock_user_prot_reg(struct mtd_info *mtd, loff_t from,
			size_t len)
{
	unsigned char oob_buf[64];
	struct onenand_chip *this = mtd->priv;
	u_char *oob_buf = this->oob_buf;
	size_t retlen;
	int ret;