Message ID | 20200406174743.16956-5-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | various: Fix error-propagation with Coccinelle scripts | expand |
On 4/6/20 7:46 PM, Philippe Mathieu-Daudé wrote: > Coccinelle reported: > > $ spatch ... --timeout 60 --sp-file \ > scripts/coccinelle/simplify-init-realize-error_propagate.cocci > HANDLING: ./hw/arm/aspeed_ast2600.c > >>> possible moves from aspeed_soc_ast2600_init() to aspeed_soc_ast2600_realize() in ./hw/arm/aspeed_ast2600.c:243 > > While reviewing we notice we don't need two different Error*, > drop the one less used. I think that comes from another pattern we were using at some time which was propagating the second error in the first. Anyhow, this is better. Reviewed-by: Cédric Le Goater <clg@kaod.org> It seems that the 'return' are badly aligned ? Thanks, C. > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/arm/aspeed_ast2600.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c > index 1a869e09b9..b08359f3ef 100644 > --- a/hw/arm/aspeed_ast2600.c > +++ b/hw/arm/aspeed_ast2600.c > @@ -245,7 +245,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > int i; > AspeedSoCState *s = ASPEED_SOC(dev); > AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); > - Error *err = NULL, *local_err = NULL; > + Error *err = NULL; > qemu_irq irq; > > /* IO space */ > @@ -418,9 +418,12 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > return; > } > object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &err); > + if (err) { > + error_propagate(errp, err); > + return; > + } > object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", > - &local_err); > - error_propagate(&err, local_err); > + &err); > if (err) { > error_propagate(errp, err); > return; > @@ -472,9 +475,12 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) > qdev_set_nic_properties(DEVICE(&s->ftgmac100[i]), &nd_table[i]); > object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", > &err); > + if (err) { > + error_propagate(errp, err); > + return; > + } > object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "realized", > - &local_err); > - error_propagate(&err, local_err); > + &err); > if (err) { > error_propagate(errp, err); > return; >
diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index 1a869e09b9..b08359f3ef 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -245,7 +245,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) int i; AspeedSoCState *s = ASPEED_SOC(dev); AspeedSoCClass *sc = ASPEED_SOC_GET_CLASS(s); - Error *err = NULL, *local_err = NULL; + Error *err = NULL; qemu_irq irq; /* IO space */ @@ -418,9 +418,12 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) return; } object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->spi[i]), true, "realized", - &local_err); - error_propagate(&err, local_err); + &err); if (err) { error_propagate(errp, err); return; @@ -472,9 +475,12 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp) qdev_set_nic_properties(DEVICE(&s->ftgmac100[i]), &nd_table[i]); object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", &err); + if (err) { + error_propagate(errp, err); + return; + } object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "realized", - &local_err); - error_propagate(&err, local_err); + &err); if (err) { error_propagate(errp, err); return;