Klaus Jensen <i...@irrelevant.dk> writes: > From: Klaus Jensen <k.jen...@samsung.com> > > Make nvme_check_constraints() return a bool and fix an invalid error > propagation where the actual error is thrown away in favor of an unused > local Error value.
Is it? I think you're talking about ... > Signed-off-by: Klaus Jensen <k.jen...@samsung.com> > --- > hw/nvme/ctrl.c | 48 +++++++++++++++++++++++------------------------- > 1 file changed, 23 insertions(+), 25 deletions(-) > > diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c > index ac3885ce5079..a5c0a5fa6ce2 100644 > --- a/hw/nvme/ctrl.c > +++ b/hw/nvme/ctrl.c [...] > @@ -7564,7 +7566,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error > **errp) > { > NvmeCtrl *n = NVME(pci_dev); > NvmeNamespace *ns; > - Error *local_err = NULL; > NvmeCtrl *pn = NVME(pcie_sriov_get_pf(pci_dev)); > > if (pci_is_vf(pci_dev)) { > @@ -7576,9 +7577,7 @@ static void nvme_realize(PCIDevice *pci_dev, Error > **errp) > n->subsys = pn->subsys; > } > > - nvme_check_constraints(n, &local_err); > - if (local_err) { > - error_propagate(errp, local_err); > + if (!nvme_check_params(n, errp)) { > return; > } > > @@ -7586,7 +7585,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error > **errp) > &pci_dev->qdev, n->parent_obj.qdev.id); > > if (nvme_init_subsys(n, errp)) { > - error_propagate(errp, local_err); ... this one. error_propagate() does nothing here, because @local_err is still null. > return; > } > nvme_init_state(n);