The pflash device lacks a reset() function. When a machine is resetted, the flash might be in an inconsistent state, leading to unexpected behavior: https://bugzilla.redhat.com/show_bug.cgi?id=1678713 Resolve this issue by adding a DeviceReset() handler.
Fix also two minor issues, and clean a bit the codebase. Since v1: https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg00962.html - addressed Laszlo review comments Since v2: - consider migration (Laszlo, Peter) Since v3: - more reliable migration (Dave) - dropped patches 6-9 not required for next release $ git backport-diff -u v3 Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/5:[----] [--] 'hw/block/pflash_cfi01: Removed an unused timer' 002/5:[0048] [FC] 'hw/block/pflash_cfi01: Use the correct READ_ARRAY value' 003/5:[----] [--] 'hw/block/pflash_cfi01: Extract pflash_mode_read_array()' 004/5:[----] [--] 'hw/block/pflash_cfi01: Start state machine as READY to accept commands' 005/5:[----] [--] 'hw/block/pflash_cfi01: Add the DeviceReset() handler' Regards, Phil. Philippe Mathieu-Daudé (5): hw/block/pflash_cfi01: Removed an unused timer hw/block/pflash_cfi01: Use the correct READ_ARRAY value hw/block/pflash_cfi01: Extract pflash_mode_read_array() hw/block/pflash_cfi01: Start state machine as READY to accept commands hw/block/pflash_cfi01: Add the DeviceReset() handler hw/block/pflash_cfi01.c | 109 +++++++++++++++++++++++++++------------- hw/block/trace-events | 1 + 2 files changed, 75 insertions(+), 35 deletions(-) -- 2.20.1