qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] pci: Clean up error reporting in pci_nic_init()


From: Peter Crosthwaite
Subject: Re: [Qemu-devel] [PATCH] pci: Clean up error reporting in pci_nic_init()
Date: Mon, 27 Apr 2015 10:55:41 -0700

On Mon, Apr 27, 2015 at 10:51 AM, Thomas Huth <address@hidden> wrote:
> The error reporting in pci_nic_init() is quite erratic: Some errors
> are printed directly with error_report(), and some are passed back
> to the (only) caller pci_nic_init_nofail() via an Error pointer.
> Let's fix up this inconsistency by always printing the error in
> pci_nic_init() and by getting rid of the Error pointer this way.
>

Can it be made consistent the other way? - always propagate? Usually
we move towards consistent error propagation rather that
deep-call-chain error reports.

Regards,
Peter

> Signed-off-by: Thomas Huth <address@hidden>
> ---
>  hw/pci/pci.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index b3d5100..6dac107 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -1613,8 +1613,7 @@ static const char * const pci_nic_names[] = {
>  /* Initialize a PCI NIC.  */
>  static PCIDevice *pci_nic_init(NICInfo *nd, PCIBus *rootbus,
>                                 const char *default_model,
> -                               const char *default_devaddr,
> -                               Error **errp)
> +                               const char *default_devaddr)
>  {
>      const char *devaddr = nd->devaddr ? nd->devaddr : default_devaddr;
>      Error *err = NULL;
> @@ -1641,7 +1640,7 @@ static PCIDevice *pci_nic_init(NICInfo *nd, PCIBus 
> *rootbus,
>
>      object_property_set_bool(OBJECT(dev), true, "realized", &err);
>      if (err) {
> -        error_propagate(errp, err);
> +        error_report_err(err);
>          object_unparent(OBJECT(dev));
>          return NULL;
>      }
> @@ -1652,17 +1651,13 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus 
> *rootbus,
>                                 const char *default_model,
>                                 const char *default_devaddr)
>  {
> -    Error *err = NULL;
>      PCIDevice *res;
>
>      if (qemu_show_nic_models(nd->model, pci_nic_models))
>          exit(0);
>
> -    res = pci_nic_init(nd, rootbus, default_model, default_devaddr, &err);
> +    res = pci_nic_init(nd, rootbus, default_model, default_devaddr);
>      if (!res) {
> -        if (err) {
> -            error_report_err(err);
> -        }
>          exit(1);
>      }
>      return res;
> --
> 1.8.3.1
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]