mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
libxl: Fix device_add QMP calls with QEMU 9.2 and newer
QEMU used to ignore JSON types and do conversion string <-> integer
automatically for the command "device_add", but that was removed in
QEMU 9.2 (428d1789df91 ("docs/about: Belatedly document tightening of
QMP device_add checking")).
Fixes: 9718ab394d ("libxl_usb: Make libxl__device_usbctrl_add uses ev_qmp")
Fixes: 40c7eca10a ("libxl_usb: Make libxl__device_usbdev_add uses ev_qmp")
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
Tested-by: Maximilian Engelhardt <maxi@daemonizer.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
1 parent
54c7c5cd98
commit
85e12104f4
1 file changed
+8
-8
@@ -367,10 +367,10 @@ static int libxl__device_usbctrl_add_hvm(libxl__egc *egc, libxl__ev_qmp *qmp,
|
||||
case 3:
|
||||
libxl__qmp_param_add_string(gc, &qmp_args,
|
||||
"driver", "nec-usb-xhci");
|
||||
libxl__qmp_param_add_string(gc, &qmp_args, "p2",
|
||||
GCSPRINTF("%d", usbctrl->ports));
|
||||
libxl__qmp_param_add_string(gc, &qmp_args, "p3",
|
||||
GCSPRINTF("%d", usbctrl->ports));
|
||||
libxl__qmp_param_add_integer(gc, &qmp_args, "p2",
|
||||
usbctrl->ports);
|
||||
libxl__qmp_param_add_integer(gc, &qmp_args, "p3",
|
||||
usbctrl->ports);
|
||||
break;
|
||||
default:
|
||||
abort(); /* Should not be possible. */
|
||||
@@ -411,10 +411,10 @@ static int libxl__device_usbdev_add_hvm(libxl__egc *egc, libxl__ev_qmp *qmp,
|
||||
GCSPRINTF("xenusb-%d.0", usbdev->ctrl));
|
||||
libxl__qmp_param_add_string(gc, &qmp_args, "port",
|
||||
GCSPRINTF("%d", usbdev->port));
|
||||
libxl__qmp_param_add_string(gc, &qmp_args, "hostbus",
|
||||
GCSPRINTF("%d", usbdev->u.hostdev.hostbus));
|
||||
libxl__qmp_param_add_string(gc, &qmp_args, "hostaddr",
|
||||
GCSPRINTF("%d", usbdev->u.hostdev.hostaddr));
|
||||
libxl__qmp_param_add_integer(gc, &qmp_args, "hostbus",
|
||||
usbdev->u.hostdev.hostbus);
|
||||
libxl__qmp_param_add_integer(gc, &qmp_args, "hostaddr",
|
||||
usbdev->u.hostdev.hostaddr);
|
||||
|
||||
return libxl__ev_qmp_send(egc, qmp, "device_add", qmp_args);
|
||||
}
|
||||
|
||||