aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-03 23:00:09 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-03 23:00:09 +0000
commit3656744cddce7937e54b78c5f9b5ba002d440105 (patch)
tree04399c99fd981cf27dc9bb461d76b5e4be061790
parentf4b1a842d71ced24fb6b9145b9d1eadc48d64291 (diff)
Reset CFI01 flash wcycle after erase confirm (Thomas Petazzoni).
pfl->wcycle was set to 1 when the erase confirm command was set, which lead to the next command being misinterpreted by Qemu: pflash_write: Unimplemented flash cmd sequence (offset 00000000, wcycle 0x1 cmd 0x20 value 0x70) This patch fixes this issue by resetting pfl->wcycle to 0 on erase confirm so that the next command is considered as a new one. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5409 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/pflash_cfi01.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c
index 25e1eb9f23..93c172008c 100644
--- a/hw/pflash_cfi01.c
+++ b/hw/pflash_cfi01.c
@@ -267,7 +267,7 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value,
case 0x20: /* Block erase */
case 0x28:
if (cmd == 0xd0) { /* confirm */
- pfl->wcycle = 1;
+ pfl->wcycle = 0;
pfl->status |= 0x80;
} else if (cmd == 0xff) { /* read array mode */
goto reset_flash;