qemu-e2k/hw/xen
Anthony PERARD cb32314607 xen-bus: Fix backend state transition on device reset
When a frontend wants to reset its state and the backend one, it
starts with setting "Closing", then waits for the backend (QEMU) to do
the same.

But when QEMU is setting "Closing" to its state, it triggers an event
(xenstore watch) that re-execute xen_device_backend_changed() and set
the backend state to "Closed". QEMU should wait for the frontend to
set "Closed" before doing the same.

Before setting "Closed" to the backend_state, we are also going to
check if there is a frontend. If that the case, when the backend state
is set to "Closing" the frontend should react and sets its state to
"Closing" then "Closed". The backend should wait for that to happen.

Fixes: b6af8926fb
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
Message-Id: <20190823101534.465-2-anthony.perard@citrix.com>
2019-08-27 14:18:28 +01:00
..
Makefile.objs xen: add a mechanism to automatically create XenDevice-s... 2019-01-14 13:45:40 +00:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
xen-backend.c xen: add a mechanism to automatically create XenDevice-s... 2019-01-14 13:45:40 +00:00
xen-bus-helper.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
xen-bus.c xen-bus: Fix backend state transition on device reset 2019-08-27 14:18:28 +01:00
xen-common.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
xen-host-pci-device.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xen-host-pci-device.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xen-legacy-backend.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xen_devconfig.c Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
xen_pt.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
xen_pt.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xen_pt_config_init.c xen: re-name XenDevice to XenLegacyDevice... 2019-01-14 13:45:40 +00:00
xen_pt_graphics.c xen: re-name XenDevice to XenLegacyDevice... 2019-01-14 13:45:40 +00:00
xen_pt_load_rom.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
xen_pt_msi.c xen: re-name XenDevice to XenLegacyDevice... 2019-01-14 13:45:40 +00:00
xen_pvdev.c Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00