diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 7853125c08395cd960bfc4302f20593644ae678b..fb3d5ab25929f6191a7596d26f21ca94a930b75e 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -9006,7 +9006,9 @@ qemuBuildCommandLine(virConnectPtr conn,
}
}
- if (usbcontroller == 0 && !qemuDomainMachineIsQ35(def))
+ if (usbcontroller == 0 &&
+ !qemuDomainMachineIsQ35(def) &&
+ !ARCH_IS_S390(def->os.arch))
virCommandAddArg(cmd, "-usb");
for (i = 0; i < def->nhubs; i++) {
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 99c46d484f5dbb6d0f6ee819bd5e4190e2502ce2..bd9d4f26ec99fa4f14899dd9f379c268ecf8ad8a 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -979,6 +979,12 @@ qemuDomainDefPostParse(virDomainDefPtr def,
case VIR_ARCH_SH4EB:
addPCIRoot = true;
break;
+ case VIR_ARCH_S390:
+ addDefaultUSB = false;
+ break;
+ case VIR_ARCH_S390X:
+ addDefaultUSB = false;
+ break;
default:
break;
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
index 6aee214c4142f77b97854692e2dc97a2b3f7dd07..4ea75de9291413eca86e0691129a2769cbeee3e1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
@@ -2,5 +2,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu \
-name QEMUGuest1 -S -M s390-virtio -m 214 -smp 1 -nographic \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi \
--boot c -usb -hda /dev/HostVG/QEMUGuest1 -net none -serial \
+-boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial \
none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args b/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args
index 10aecea58ee770c77bf27d495aaef04646aee0a5..e939be45f467c6c86601e7622b5202fc7bdea9b2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-s390-piix-controllers.args
@@ -3,7 +3,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-nodefconfig -nodefaults \
-chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=readline -no-acpi \
--device virtio-serial-s390,id=virtio-serial0 -usb -drive \
+-device virtio-serial-s390,id=virtio-serial0 -drive \
file=/dev/HostVG/QEMUGuest1,if=none,id=drive-virtio-disk0 \
-device virtio-blk-s390,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-chardev pty,id=charconsole0 \
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
index 9a609f8666fd38a418ef88bcf2ca227e292705fd..54bb364ee2a9c6c0a6da47b8544568255bec927d 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-defaultconsole.xml
@@ -14,7 +14,6 @@
destroy
/usr/bin/qemu-kvm
-