On Thu, Jun 27, 2019 at 2:06 PM Philippe Mathieu-Daudé <phi...@redhat.com> wrote: > > From: Stephen Checkoway <stephen.checko...@oberlin.edu> > > When the flash device is performing a chip erase, all commands are > ignored. When it is performing a sector erase, only the erase suspend > command is valid, which is currently not supported. > > In particular, the reset command should not cause the device to reset to > read array mode while programming is on going. > > Signed-off-by: Stephen Checkoway <stephen.checko...@oberlin.edu> > Message-Id: <20190426162624.55977-8-stephen.checko...@oberlin.edu> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > hw/block/pflash_cfi02.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/block/pflash_cfi02.c b/hw/block/pflash_cfi02.c > index 13f76fa71d..39daa95833 100644 > --- a/hw/block/pflash_cfi02.c > +++ b/hw/block/pflash_cfi02.c > @@ -311,7 +311,8 @@ static void pflash_write(void *opaque, hwaddr offset, > uint64_t value, > trace_pflash_io_write(offset, width, width << 1, value, pfl->wcycle); > cmd = value; > if (pfl->cmd != 0xA0) { > - if (cmd == 0xF0) { > + /* Reset does nothing during chip erase and sector erase. */ > + if (cmd == 0xF0 && pfl->cmd != 0x10 && pfl->cmd != 0x30) { > if (pfl->wcycle == WCYCLE_AUTOSELECT_CFI) { > /* Return to autoselect mode. */ > pfl->wcycle = 3; > -- > 2.20.1 > >