On Mon, 27 Apr 2015 13:48:27 +0200 Markus Armbruster <arm...@redhat.com> wrote:
> Paolo Bonzini <pbonz...@redhat.com> writes: > > > On 09/04/2015 20:31, Eric Blake wrote: > >>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c > >>> index 6941a82..b3d5100 100644 > >>> --- a/hw/pci/pci.c > >>> +++ b/hw/pci/pci.c > >>> @@ -1660,7 +1660,9 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus > >>> *rootbus, > >>> > >>> res = pci_nic_init(nd, rootbus, default_model, default_devaddr, > >>> &err); > >>> if (!res) { > >>> - error_report_err(err); > >>> + if (err) { > >>> + error_report_err(err); > >>> + } > >>> exit(1); > >> > >> Doesn't this mean the program can exit without an error message, if > >> pci_nic_init returns failure but failed to set err? Shouldn't you at > >> least print something in that case as an else branch? > > > > git grep 'Unsupported NIC model' shows that the error is printed with > > error_report; same for other errors produced by pci_nic_init. > > > > This is not beautiful compared to correct propagation of Error*, but > > it's okay because -net is only used at startup. It's good enough for rc3. > > Thomas, can you clean this up now 2.3 is out? Sure, I'll have a look. Thomas