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

Commit 42b0aab1 authored by Rohit Hassan Sathyanarayan's avatar Rohit Hassan Sathyanarayan Committed by David Woodhouse
Browse files

mtd: onenand:fix for page addr calculation based on device type

Sending the patch for page address calculation based on device type. This resolves the
OneNAND DDP device read problem as pointed by Enric.
http://lists.infradead.org/pipermail/linux-mtd/2010-July/030920.html



Signed-off-by: default avatarRohit HS <rohit.hs@samsung.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 02ed70bb
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -377,8 +377,11 @@ static int onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, size_t le

	default:
		block = onenand_block(this, addr);
		page = (int) (addr - onenand_addr(this, block)) >> this->page_shift;

		if (FLEXONENAND(this))
			page = (int) (addr - onenand_addr(this, block))>>\
				this->page_shift;
		else
			page = (int) (addr >> this->page_shift);
		if (ONENAND_IS_2PLANE(this)) {
			/* Make the even block number */
			block &= ~1;