summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2017-09-25 12:29:12 +0100
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-09-27 11:35:59 +0100
commit44b1ff319c4781c7ab13f7e119b3114a1e6a52e2 (patch)
treeb8e8aa9c74c890808876e7a5969b69ac25c1930a /hw/usb
parent9ac78b6171bec47083a9b6ce88dc1f114caea2f9 (diff)
downloadqemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.tar.gz
migration: pre_save return int
Modify the pre_save method on VMStateDescription to return an int rather than void so that it potentially can fail. Changed zillions of devices to make them return 0; the only case I've made it return non-0 is hw/intc/s390_flic_kvm.c that already had an error_report/return case. Note: If you add an error exit in your pre_save you must emit an error_report to say why. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20170925112917.21340-2-dgilbert@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/dev-smartcard-reader.c4
-rw-r--r--hw/usb/hcd-ehci.c4
-rw-r--r--hw/usb/redirect.c4
3 files changed, 9 insertions, 3 deletions
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index bef1f03c42..0c77d2a41d 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -1374,7 +1374,7 @@ static int ccid_post_load(void *opaque, int version_id)
return 0;
}
-static void ccid_pre_save(void *opaque)
+static int ccid_pre_save(void *opaque)
{
USBCCIDState *s = opaque;
@@ -1386,6 +1386,8 @@ static void ccid_pre_save(void *opaque)
*/
s->migration_state = MIGRATION_MIGRATED;
}
+
+ return 0;
}
static VMStateDescription bulk_in_vmstate = {
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 46fd30b075..0134232627 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -2381,7 +2381,7 @@ static USBBusOps ehci_bus_ops_standalone = {
.wakeup_endpoint = ehci_wakeup_endpoint,
};
-static void usb_ehci_pre_save(void *opaque)
+static int usb_ehci_pre_save(void *opaque)
{
EHCIState *ehci = opaque;
uint32_t new_frindex;
@@ -2390,6 +2390,8 @@ static void usb_ehci_pre_save(void *opaque)
new_frindex = ehci->frindex & ~7;
ehci->last_run_ns -= (ehci->frindex - new_frindex) * UFRAME_TIMER_NS;
ehci->frindex = new_frindex;
+
+ return 0;
}
static int usb_ehci_post_load(void *opaque, int version_id)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 5e42730449..ec174309db 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -2111,11 +2111,13 @@ static void usbredir_buffered_bulk_packet(void *priv, uint64_t id,
* Migration code
*/
-static void usbredir_pre_save(void *priv)
+static int usbredir_pre_save(void *priv)
{
USBRedirDevice *dev = priv;
usbredir_fill_already_in_flight(dev);
+
+ return 0;
}
static int usbredir_post_load(void *priv, int version_id)