On Wed, Mar 25, 2020 at 12:24 PM Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > Running the coccinelle script produced: > > $ spatch \ > --macro-file scripts/cocci-macro-file.h --include-headers \ > --sp-file > scripts/coccinelle/object_property_missing_error_propagate.cocci \ > --keep-comments --smpl-spacing --dir hw > > [[manual check required: error_propagate() might be missing in > object_property_set_link() hw//dma/xilinx_axidma.c:542:4]] > > Add the missing error_propagate() after manual review. > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > hw/dma/xilinx_axidma.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c > index 018f36991b..6e3406321c 100644 > --- a/hw/dma/xilinx_axidma.c > +++ b/hw/dma/xilinx_axidma.c > @@ -521,39 +521,42 @@ static const MemoryRegionOps axidma_ops = { > static void xilinx_axidma_realize(DeviceState *dev, Error **errp) > { > XilinxAXIDMA *s = XILINX_AXI_DMA(dev); > XilinxAXIDMAStreamSlave *ds = > XILINX_AXI_DMA_DATA_STREAM(&s->rx_data_dev); > XilinxAXIDMAStreamSlave *cs = XILINX_AXI_DMA_CONTROL_STREAM( > > &s->rx_control_dev); > Error *local_err = NULL; > > object_property_add_link(OBJECT(ds), "dma", TYPE_XILINX_AXI_DMA, > (Object **)&ds->dma, > object_property_allow_set_link, > OBJ_PROP_LINK_STRONG, > &local_err); > object_property_add_link(OBJECT(cs), "dma", TYPE_XILINX_AXI_DMA, > (Object **)&cs->dma, > object_property_allow_set_link, > OBJ_PROP_LINK_STRONG, > &local_err); > if (local_err) { > goto xilinx_axidma_realize_fail; > } > object_property_set_link(OBJECT(ds), OBJECT(s), "dma", &local_err); > + if (local_err) { > + goto xilinx_axidma_realize_fail; > + } > object_property_set_link(OBJECT(cs), OBJECT(s), "dma", &local_err); > if (local_err) { > goto xilinx_axidma_realize_fail; > } > > int i; > > for (i = 0; i < 2; i++) { > struct Stream *st = &s->streams[i]; > > st->nr = i; > st->ptimer = ptimer_init(timer_hit, st, PTIMER_POLICY_DEFAULT); > ptimer_transaction_begin(st->ptimer); > ptimer_set_freq(st->ptimer, s->freqhz); > ptimer_transaction_commit(st->ptimer); > } > return; > -- > 2.21.1 > >