summary refs log tree commit diff stats
path: root/qdev-monitor.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-10-12 11:07:38 +0100
committerPeter Maydell <peter.maydell@linaro.org>2015-10-12 11:07:38 +0100
commit768492239014cb5e6161f1be80a9c8043c4530c2 (patch)
tree9299859ad4f734950d353473cf229d0da3250cf2 /qdev-monitor.c
parentc9003eb4662f44c61be9c8d7d5c9d4a02d58b560 (diff)
parent33fe96833015cf15f4c0aa5bf8d34f60526e0732 (diff)
downloadfocaccia-qemu-768492239014cb5e6161f1be80a9c8043c4530c2.tar.gz
focaccia-qemu-768492239014cb5e6161f1be80a9c8043c4530c2.zip
Merge remote-tracking branch 'remotes/armbru/tags/pull-monitor-2015-10-09' into staging
Fix device introspection regressions

# gpg: Signature made Fri 09 Oct 2015 14:43:41 BST using RSA key ID EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"

* remotes/armbru/tags/pull-monitor-2015-10-09:
  Revert "qdev: Use qdev_get_device_class() for -device <type>,help"
  qdev: Protect device-list-properties against broken devices
  qmp: Fix device-list-properties not to crash for abstract device
  device-introspect-test: New, covering device introspection
  libqtest: New hmp() & friends
  libqtest: Clean up unused QTestState member sigact_old
  tests: Fix how qom-test is run
  macio: move DBDMA_init from instance_init to realize
  hw: do not pass NULL to memory_region_init from instance_init
  memory: allow destroying a non-empty MemoryRegion
  virtio-input: Fix device introspection on non-Linux hosts
  update-linux-headers: Rename SW_MAX to SW_MAX_

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qdev-monitor.c')
-rw-r--r--qdev-monitor.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/qdev-monitor.c b/qdev-monitor.c
index eb7aef2c81..1cadefbb13 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -237,9 +237,12 @@ int qdev_device_help(QemuOpts *opts)
         return 0;
     }
 
-    qdev_get_device_class(&driver, &local_err);
-    if (local_err) {
-        goto error;
+    if (!object_class_by_name(driver)) {
+        const char *typename = find_typename_by_alias(driver);
+
+        if (typename) {
+            driver = typename;
+        }
     }
 
     prop_list = qmp_device_list_properties(driver, &local_err);