[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
>
>