|
@@ -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;
|