From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45496) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3ruX-0007NP-Ca for qemu-devel@nongnu.org; Tue, 21 Aug 2012 13:06:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3ruW-0002kr-Gt for qemu-devel@nongnu.org; Tue, 21 Aug 2012 13:06:37 -0400 Received: from mail-gh0-f173.google.com ([209.85.160.173]:61109) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3ruW-0002gN-Cj for qemu-devel@nongnu.org; Tue, 21 Aug 2012 13:06:36 -0400 Received: by mail-gh0-f173.google.com with SMTP id r17so31193ghr.4 for ; Tue, 21 Aug 2012 10:06:36 -0700 (PDT) Sender: fluxion From: Michael Roth Date: Tue, 21 Aug 2012 12:05:45 -0500 Message-Id: <1345568757-14365-12-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1345568757-14365-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1345568757-14365-1-git-send-email-mdroth@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 11/23] usb: restore USBDevice->attached on vmload List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com From: Gerd Hoffmann Signed-off-by: Gerd Hoffmann (cherry picked from commit 495d544798151206bafca65ec588c0388637eb40) Signed-off-by: Michael Roth --- hw/usb/bus.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 2068640..77b2b99 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -27,10 +27,23 @@ static struct BusInfo 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), -- 1.7.9.5