diff options
| author | Paul Brook <paul@codesourcery.com> | 2009-05-12 12:02:38 +0100 |
|---|---|---|
| committer | Paul Brook <paul@codesourcery.com> | 2009-05-12 12:02:38 +0100 |
| commit | 0d9acba8fddbf970c7353083e6a60b47017ce3e4 (patch) | |
| tree | d4b709ce317ced6e21ea29378d00a0b5dd6c6bf6 /hw/pc.c | |
| parent | f0f26a06d51b7e7764f8951cdbf67ac9ad507f6d (diff) | |
| download | focaccia-qemu-0d9acba8fddbf970c7353083e6a60b47017ce3e4.tar.gz focaccia-qemu-0d9acba8fddbf970c7353083e6a60b47017ce3e4.zip | |
Make AUD_init failure fatal
Failure to initialize the audio subsystem is not handled consistently. Where it is handled it has guest visible effects, which is wrong. We already have a "nosound" audio driver as a last resort, so trying to proceed without an audio backend seems pointless. Also protect against multiple calls to AUD_init so that this can be pushed down into individual devices. Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'hw/pc.c')
| -rw-r--r-- | hw/pc.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/hw/pc.c b/hw/pc.c index 6b4642742d..fe9d644318 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -791,16 +791,14 @@ static void audio_init (PCIBus *pci_bus, qemu_irq *pic) AudioState *s; s = AUD_init (); - if (s) { - for (c = soundhw; c->name; ++c) { - if (c->enabled) { - if (c->isa) { - c->init.init_isa (s, pic); - } - else { - if (pci_bus) { - c->init.init_pci (pci_bus, s); - } + for (c = soundhw; c->name; ++c) { + if (c->enabled) { + if (c->isa) { + c->init.init_isa (s, pic); + } + else { + if (pci_bus) { + c->init.init_pci (pci_bus, s); } } } |