diff options
| author | Igor Mammedov <imammedo@redhat.com> | 2016-07-27 14:39:58 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-08-03 18:44:56 +0200 |
| commit | 71ae65e552fc6e03572e430009b98b80b40f1c4d (patch) | |
| tree | e86178b1b25b4f7fe456e13e69a96042dd7ebc4c /hw/i2c/smbus_eeprom.c | |
| parent | 0b646f44d9976c33aee78b0427d1b357dde5dd50 (diff) | |
| download | focaccia-qemu-71ae65e552fc6e03572e430009b98b80b40f1c4d.tar.gz focaccia-qemu-71ae65e552fc6e03572e430009b98b80b40f1c4d.zip | |
i2c: fix migration regression introduced by broadcast support
QEMU fails migration with following error: qemu-system-x86_64: Missing section footer for i2c_bus qemu-system-x86_64: load of migration failed: Invalid argument when migrating from: qemu-system-x86_64-v2.6.0 -m 256M rhel72.img -M pc-i440fx-2.6 to qemu-system-x86_64-v2.7.0-rc0 -m 256M rhel72.img -M pc-i440fx-2.6 Regression is added by commit 2293c27f (i2c: implement broadcast write) Fix it by dropping 'broadcast' VMState introduced by 2293c27f and reuse broadcast 0x00 address as broadcast flag in bus->saved_address. Then if there were ongoing broadcast at migration time, set bus->saved_address to it and at i2c_slave_post_load() time check for it instead of transfering and using 'broadcast' VMState. As result of reusing existing saved_address VMState, no compat glue will be needed to keep forward/backward compatiblity. which makes fix much less intrusive. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <1469623198-177227-1-git-send-email-imammedo@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i2c/smbus_eeprom.c')
0 files changed, 0 insertions, 0 deletions