ioh3420_interrupts_init() and its callers rp_realize() fill error
message to local_err, then propagate it to errp by error_porpagate(),
which's not necessary. So eliminate it and pass errp directly instead
of local_err. Of course, error_propagate() also has been removed.
Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>
---
v2:
* Drop the part of wrong handling that ignored the fact that if
pci_qdev_realize()'s caller pass errp = NULL.
hw/pci-bridge/ioh3420.c | 4 +---
hw/pci-bridge/pcie_root_port.c | 7 ++-----
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
index da4e5bd..5f56a2f 100644
--- a/hw/pci-bridge/ioh3420.c
+++ b/hw/pci-bridge/ioh3420.c
@@ -64,15 +64,13 @@ static uint8_t ioh3420_aer_vector(const PCIDevice *d)
static int ioh3420_interrupts_init(PCIDevice *d, Error **errp)
{
int rc;
- Error *local_err = NULL;
rc = msi_init(d, IOH_EP_MSI_OFFSET, IOH_EP_MSI_NR_VECTOR,
IOH_EP_MSI_SUPPORTED_FLAGS & PCI_MSI_FLAGS_64BIT,
IOH_EP_MSI_SUPPORTED_FLAGS & PCI_MSI_FLAGS_MASKBIT,
- &local_err);
+ errp);
if (rc < 0) {
assert(rc == -ENOTSUP);
- error_propagate(errp, local_err);
}
return rc;
diff --git a/hw/pci-bridge/pcie_root_port.c b/hw/pci-bridge/pcie_root_port.c
index cf36318..9022996 100644
--- a/hw/pci-bridge/pcie_root_port.c
+++ b/hw/pci-bridge/pcie_root_port.c
@@ -59,7 +59,6 @@ static void rp_realize(PCIDevice *d, Error **errp)
PCIDeviceClass *dc = PCI_DEVICE_GET_CLASS(d);
PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(d);
int rc;
- Error *local_err = NULL;
pci_config_set_interrupt_pin(d->config, 1);
pci_bridge_initfn(d, TYPE_PCIE_BUS);
@@ -72,9 +71,8 @@ static void rp_realize(PCIDevice *d, Error **errp)
}
if (rpc->interrupts_init) {
- rc = rpc->interrupts_init(d, &local_err);
+ rc = rpc->interrupts_init(d, errp);
if (rc < 0) {
- error_propagate(errp, local_err);
goto err_bridge;
}
}
@@ -98,9 +96,8 @@ static void rp_realize(PCIDevice *d, Error **errp)
}
rc = pcie_aer_init(d, PCI_ERR_VER, rpc->aer_offset,
- PCI_ERR_SIZEOF, &local_err);
+ PCI_ERR_SIZEOF, errp);
if (rc < 0) {
- error_propagate(errp, local_err);
goto err;
}
pcie_aer_root_init(d);
--
2.9.3
On 05/26/2017 06:58 AM, Mao Zhongyi wrote: In the subject: s/porpagate/propagate/ > ioh3420_interrupts_init() and its callers rp_realize() fill error > message to local_err, then propagate it to errp by error_porpagate(), and again > which's not necessary. So eliminate it and pass errp directly instead s/which's/which is/ (English does not have the abbreviation which's) > of local_err. Of course, error_propagate() also has been removed. > > Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com> > --- > v2: > * Drop the part of wrong handling that ignored the fact that if > pci_qdev_realize()'s caller pass errp = NULL. > The code portion is fine, so with the commit message fixed (which a maintainer might do without needing you to send a v3), Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
On 05/26/2017 09:33 PM, Eric Blake wrote: > On 05/26/2017 06:58 AM, Mao Zhongyi wrote: > > In the subject: s/porpagate/propagate/ > >> ioh3420_interrupts_init() and its callers rp_realize() fill error >> message to local_err, then propagate it to errp by error_porpagate(), > > and again OK, I see. Thanks > >> which's not necessary. So eliminate it and pass errp directly instead > > s/which's/which is/ (English does not have the abbreviation which's) Thanks for your kindly remind. I think that this problem will not happen again. :) > >> of local_err. Of course, error_propagate() also has been removed. >> >> Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com> >> --- >> v2: >> * Drop the part of wrong handling that ignored the fact that if >> pci_qdev_realize()'s caller pass errp = NULL. >> > > The code portion is fine, so with the commit message fixed (which a > maintainer might do without needing you to send a v3), > Reviewed-by: Eric Blake <eblake@redhat.com> > I am very glad to hear that. I will fix it again in the v3. After all, it's not good to bother others. Thanks a lot. Mao
On 26/05/2017 14:58, Mao Zhongyi wrote: > ioh3420_interrupts_init() and its callers rp_realize() fill error > message to local_err, then propagate it to errp by error_porpagate(), > which's not necessary. So eliminate it and pass errp directly instead > of local_err. Of course, error_propagate() also has been removed. > > Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com> > --- > v2: > * Drop the part of wrong handling that ignored the fact that if > pci_qdev_realize()'s caller pass errp = NULL. > > hw/pci-bridge/ioh3420.c | 4 +--- > hw/pci-bridge/pcie_root_port.c | 7 ++----- > 2 files changed, 3 insertions(+), 8 deletions(-) > > diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c > index da4e5bd..5f56a2f 100644 > --- a/hw/pci-bridge/ioh3420.c > +++ b/hw/pci-bridge/ioh3420.c > @@ -64,15 +64,13 @@ static uint8_t ioh3420_aer_vector(const PCIDevice *d) > static int ioh3420_interrupts_init(PCIDevice *d, Error **errp) > { > int rc; > - Error *local_err = NULL; > > rc = msi_init(d, IOH_EP_MSI_OFFSET, IOH_EP_MSI_NR_VECTOR, > IOH_EP_MSI_SUPPORTED_FLAGS & PCI_MSI_FLAGS_64BIT, > IOH_EP_MSI_SUPPORTED_FLAGS & PCI_MSI_FLAGS_MASKBIT, > - &local_err); > + errp); > if (rc < 0) { > assert(rc == -ENOTSUP); > - error_propagate(errp, local_err); > } > > return rc; > diff --git a/hw/pci-bridge/pcie_root_port.c b/hw/pci-bridge/pcie_root_port.c > index cf36318..9022996 100644 > --- a/hw/pci-bridge/pcie_root_port.c > +++ b/hw/pci-bridge/pcie_root_port.c > @@ -59,7 +59,6 @@ static void rp_realize(PCIDevice *d, Error **errp) > PCIDeviceClass *dc = PCI_DEVICE_GET_CLASS(d); > PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(d); > int rc; > - Error *local_err = NULL; > > pci_config_set_interrupt_pin(d->config, 1); > pci_bridge_initfn(d, TYPE_PCIE_BUS); > @@ -72,9 +71,8 @@ static void rp_realize(PCIDevice *d, Error **errp) > } > > if (rpc->interrupts_init) { > - rc = rpc->interrupts_init(d, &local_err); > + rc = rpc->interrupts_init(d, errp); > if (rc < 0) { > - error_propagate(errp, local_err); > goto err_bridge; > } > } > @@ -98,9 +96,8 @@ static void rp_realize(PCIDevice *d, Error **errp) > } > > rc = pcie_aer_init(d, PCI_ERR_VER, rpc->aer_offset, > - PCI_ERR_SIZEOF, &local_err); > + PCI_ERR_SIZEOF, errp); > if (rc < 0) { > - error_propagate(errp, local_err); > goto err; > } > pcie_aer_root_init(d); Reviewed-by: Marcel Apfelbaum<marcel@redhat.com> Thanks, Marcel
© 2016 - 2024 Red Hat, Inc.