The s->addr is supposed to be reset along with the s->addrlen, or it might be contains the previous address at last address cycle, and causes problem to nand erase operation.
Signed-off-by: Kuo-Jung Su <dant...@faraday-tech.com> --- hw/nand.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/nand.c b/hw/nand.c index 76479ed..b70a371 100644 --- a/hw/nand.c +++ b/hw/nand.c @@ -510,6 +510,7 @@ void nand_setio(DeviceState *dev, uint32_t value) nand_command(s); if (s->cmd != NAND_CMD_RANDOMREAD2) { + s->addr = 0; s->addrlen = 0; } } -- 1.7.9.5 ********************* Confidentiality Notice ************************ This electronic message and any attachments may contain confidential and legally privileged information or information which is otherwise protected from disclosure. If you are not the intended recipient,please do not disclose the contents, either in whole or in part, to anyone,and immediately delete the message and any attachments from your computer system and destroy all hard copies. Thank you for your cooperation. ***********************************************************************