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.

Paolo

Reply via email to