write_addr /= 2;
if (is_dual == MODE_DUAL_STACKED) {
- if (offset >= (flash->size / 2))
+ if (write_addr >= (flash->size / 2))
flash->spi->u_page = 1;
else
flash->spi->u_page = 0;
return ret;
}
- byte_addr = offset % page_size;
+ byte_addr = write_addr % page_size;
chunk_len = min(len - actual, page_size - byte_addr);
if ((is_dual == MODE_DUAL_STACKED) && (flash->spi->u_page == 1))
bank_sel += ((flash->size / 2) / bank_boun);
- remain_len = (bank_boun * (bank_sel + 1) - offset);
+ remain_len = (bank_boun * (bank_sel + 1) - read_addr);
if (len < remain_len)
read_len = len;
else
erase_addr /= 2;
if (is_dual == MODE_DUAL_STACKED) {
- if (offset >= (flash->size / 2))
+ if (erase_addr >= (flash->size / 2))
flash->spi->u_page = 1;
else
flash->spi->u_page = 0;
spi_flash_addr(erase_addr, cmd);
debug("SF: erase %2x %2x %2x %2x (%x)\n", cmd[0], cmd[1],
- cmd[2], cmd[3], offset);
+ cmd[2], cmd[3], erase_addr);
ret = spi_flash_cmd_write_enable(flash);
if (ret)