This will allow processing "-audio model=help" even if the backend part of the option is missing.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- hw/audio/soundhw.c | 24 +++++++++--------------- softmmu/vl.c | 4 ++++ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index a9d8807b18..d81ae91136 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -89,23 +89,17 @@ void select_soundhw(const char *optarg) error_setg(&error_fatal, "only one -soundhw option is allowed"); } - if (is_help_option(optarg)) { - show_valid_soundhw(); - exit(0); + for (c = soundhw; c->name; ++c) { + if (g_str_equal(c->name, optarg)) { + selected = c; + break; + } } - else { - for (c = soundhw; c->name; ++c) { - if (g_str_equal(c->name, optarg)) { - selected = c; - break; - } - } - if (!c->name) { - error_report("Unknown sound card name `%s'", optarg); - show_valid_soundhw(); - exit(1); - } + if (!c->name) { + error_report("Unknown sound card name `%s'", optarg); + show_valid_soundhw(); + exit(1); } } diff --git a/softmmu/vl.c b/softmmu/vl.c index c2919579fd..5bea0eb3eb 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -3019,6 +3019,10 @@ void qemu_init(int argc, char **argv, char **envp) audio_parse_option(optarg); break; case QEMU_OPTION_soundhw: + if (is_help_option(optarg)) { + show_valid_soundhw(); + exit(0); + } select_soundhw (optarg); break; case QEMU_OPTION_h: -- 2.35.1