From 495d544798151206bafca65ec588c0388637eb40 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 8 Jun 2012 12:58:46 +0200 Subject: [PATCH] usb: restore USBDevice->attached on vmload Signed-off-by: Gerd Hoffmann --- hw/usb/bus.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index f87cc5f44..b649360dd 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -37,10 +37,23 @@ static const TypeInfo usb_bus_info = { static int next_usb_bus = 0; static QTAILQ_HEAD(, USBBus) busses = QTAILQ_HEAD_INITIALIZER(busses); +static int usb_device_post_load(void *opaque, int version_id) +{ + USBDevice *dev = opaque; + + if (dev->state == USB_STATE_NOTATTACHED) { + dev->attached = 0; + } else { + dev->attached = 1; + } + return 0; +} + const VMStateDescription vmstate_usb_device = { .name = "USBDevice", .version_id = 1, .minimum_version_id = 1, + .post_load = usb_device_post_load, .fields = (VMStateField []) { VMSTATE_UINT8(addr, USBDevice), VMSTATE_INT32(state, USBDevice), -- 2.39.2