diff options
Diffstat (limited to 'hw/serial.c')
-rw-r--r-- | hw/serial.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/hw/serial.c b/hw/serial.c index 869063cb3e..86ac543ecd 100644 --- a/hw/serial.c +++ b/hw/serial.c @@ -649,17 +649,13 @@ static void serial_pre_save(void *opaque) s->fcr_vmstate = s->fcr; } -static int serial_pre_load(void *opaque) -{ - SerialState *s = opaque; - s->fcr_vmstate = 0; - return 0; -} - static int serial_post_load(void *opaque, int version_id) { SerialState *s = opaque; + if (version_id < 3) { + s->fcr_vmstate = 0; + } /* Initialize fcr via setter to perform essential side-effects */ serial_ioport_write(s, 0x02, s->fcr_vmstate); return 0; @@ -670,7 +666,6 @@ static const VMStateDescription vmstate_serial = { .version_id = 3, .minimum_version_id = 2, .pre_save = serial_pre_save, - .pre_load = serial_pre_load, .post_load = serial_post_load, .fields = (VMStateField []) { VMSTATE_UINT16_V(divider, SerialState, 2), |