Use the controller_type passed in when looking for a free usb port, so get_free_usb_port(something, "ehci") actually gets you a ehci port even in case there is a uhci controller present.
Signed-off-by: Gerd Hoffmann <[email protected]> --- client/virt/kvm_vm.py | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/client/virt/kvm_vm.py b/client/virt/kvm_vm.py index 4d4c2ae..82218f4 100644 --- a/client/virt/kvm_vm.py +++ b/client/virt/kvm_vm.py @@ -267,17 +267,18 @@ class VM(virt_vm.BaseVM): for usb in params.objects("usbs"): usb_params = params.object_params(usb) - + usb_type = usb_params.get("usb_type") usb_dev = self.usb_dev_dict.get(usb) - controller = usb - max_port = int(usb_params.get("usb_max_port", 6)) - if len(usb_dev) < max_port: - bus = "%s.0" % usb - self.usb_dev_dict[usb].append(dev) - # Usb port starts from 1, so add 1 directly here. - port = self.usb_dev_dict[usb].index(dev) + 1 - break + if usb_type.find(controller_type) != -1: + controller = usb + max_port = int(usb_params.get("usb_max_port", 6)) + if len(usb_dev) < max_port: + bus = "%s.0" % usb + self.usb_dev_dict[usb].append(dev) + # Usb port starts from 1, so add 1 directly here. + port = self.usb_dev_dict[usb].index(dev) + 1 + break if controller is None: raise virt_vm.VMUSBControllerMissingError(self.name, -- 1.7.1 _______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
