vl.c: Fix broken -usb option

Commit 094b287f0b accidentally broke the "-usb" command line
option, so it would have no effect if the user had not specified
any machine options at that point. (the return value from
'qemu_opts_find(qemu_find_opts("machine"), 0);' is NULL if there
are no user specified options, so it is only to be used for
looking up an option, not when trying to set one.) Similarly,
would '-usbdevice' no longer cause USB to default to enabled.

Fix this regression by using the same style of code for forcing
the usb=on machine option that we use for other aliases such as
'-enable-kvm'.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Peter Maydell 2012-11-22 16:48:45 +00:00 committed by Anthony Liguori
parent 339c2708e7
commit fa5358c69d

12
vl.c
View File

@ -3273,16 +3273,12 @@ int main(int argc, char **argv, char **envp)
break; break;
} }
case QEMU_OPTION_usb: case QEMU_OPTION_usb:
machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0); olist = qemu_find_opts("machine");
if (machine_opts) { qemu_opts_parse(olist, "usb=on", 0);
qemu_opt_set_bool(machine_opts, "usb", true);
}
break; break;
case QEMU_OPTION_usbdevice: case QEMU_OPTION_usbdevice:
machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0); olist = qemu_find_opts("machine");
if (machine_opts) { qemu_opts_parse(olist, "usb=on", 0);
qemu_opt_set_bool(machine_opts, "usb", true);
}
add_device_config(DEV_USB, optarg); add_device_config(DEV_USB, optarg);
break; break;
case QEMU_OPTION_device: case QEMU_OPTION_device: