audio: Clean up inappropriate and unreachable use of hw_error()
audio_init() should not use hw_error(), because dumping CPU registers is unhelpful there, and aborting is wrong, because it can be called called from an audio device's realize() method. The two uses of hw_error() come from commit 0d9acba: * When qemu_new_timer() fails. It couldn't fail back then, and it can't fail now. Drop the unreachable error handling. * When no_audio_driver can't be initialized. It couldn't fail back then, and it can't fail now. Replace the error handling by an assertion. Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Markus Armbruster <armbru@pond.sub.org> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
675463d9b6
commit
7e274652e4
|
@ -1806,9 +1806,6 @@ static void audio_init (void)
|
||||||
atexit (audio_atexit);
|
atexit (audio_atexit);
|
||||||
|
|
||||||
s->ts = timer_new_ns(QEMU_CLOCK_VIRTUAL, audio_timer, s);
|
s->ts = timer_new_ns(QEMU_CLOCK_VIRTUAL, audio_timer, s);
|
||||||
if (!s->ts) {
|
|
||||||
hw_error("Could not create audio timer\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
audio_process_options ("AUDIO", audio_options);
|
audio_process_options ("AUDIO", audio_options);
|
||||||
|
|
||||||
|
@ -1859,12 +1856,8 @@ static void audio_init (void)
|
||||||
|
|
||||||
if (!done) {
|
if (!done) {
|
||||||
done = !audio_driver_init (s, &no_audio_driver);
|
done = !audio_driver_init (s, &no_audio_driver);
|
||||||
if (!done) {
|
assert(done);
|
||||||
hw_error("Could not initialize audio subsystem\n");
|
dolog("warning: Using timer based audio emulation\n");
|
||||||
}
|
|
||||||
else {
|
|
||||||
dolog ("warning: Using timer based audio emulation\n");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conf.period.hertz <= 0) {
|
if (conf.period.hertz <= 0) {
|
||||||
|
|
Loading…
Reference in New Issue