Message ID | 20200302130715.29440-11-kuhn.chenqun@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | redundant code: Fix warnings reported by Clang static code analyzer | expand |
On Mon, 2 Mar. 2020, 07:09 Chen Qun, <kuhn.chenqun@huawei.com> wrote: > Clang static code analyzer show warning: > hw/dma/xlnx-zdma.c:399:13: warning: Value stored to 'dst_type' is never > read > dst_type = FIELD_EX32(s->dsc_dst.words[3], > ZDMA_CH_DST_DSCR_WORD3, > Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> ^ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Reported-by: Euler Robot <euler.robot@huawei.com> > Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > --- > Cc: Alistair Francis <alistair@alistair23.me> > Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Philippe Mathieu-Daudé <philmd@redhat.com> > > v1->v2: move the 'dst_type' declaration.(Base on Philippe's suggestion). > --- > hw/dma/xlnx-zdma.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c > index 8fb83f5b07..eeacad59ce 100644 > --- a/hw/dma/xlnx-zdma.c > +++ b/hw/dma/xlnx-zdma.c > @@ -373,7 +373,7 @@ static uint64_t zdma_update_descr_addr(XlnxZDMA *s, > bool type, > static void zdma_write_dst(XlnxZDMA *s, uint8_t *buf, uint32_t len) > { > uint32_t dst_size, dlen; > - bool dst_intr, dst_type; > + bool dst_intr; > unsigned int ptype = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, > POINT_TYPE); > unsigned int rw_mode = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, MODE); > unsigned int burst_type = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_DATA_ATTR, > @@ -387,17 +387,17 @@ static void zdma_write_dst(XlnxZDMA *s, uint8_t > *buf, uint32_t len) > while (len) { > dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2, > SIZE); > - dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, > - TYPE); > if (dst_size == 0 && ptype == PT_MEM) { > uint64_t next; > + bool dst_type = FIELD_EX32(s->dsc_dst.words[3], > + ZDMA_CH_DST_DSCR_WORD3, > + TYPE); > + > next = zdma_update_descr_addr(s, dst_type, > R_ZDMA_CH_DST_CUR_DSCR_LSB); > zdma_load_descriptor(s, next, &s->dsc_dst); > dst_size = FIELD_EX32(s->dsc_dst.words[2], > ZDMA_CH_DST_DSCR_WORD2, > SIZE); > - dst_type = FIELD_EX32(s->dsc_dst.words[3], > ZDMA_CH_DST_DSCR_WORD3, > - TYPE); > } > > /* Match what hardware does by ignoring the dst_size and only > using > -- > 2.23.0 > > >
Le 02/03/2020 à 14:07, Chen Qun a écrit : > Clang static code analyzer show warning: > hw/dma/xlnx-zdma.c:399:13: warning: Value stored to 'dst_type' is never read > dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Reported-by: Euler Robot <euler.robot@huawei.com> > Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > --- > Cc: Alistair Francis <alistair@alistair23.me> > Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com> > Cc: Peter Maydell <peter.maydell@linaro.org> > Cc: Philippe Mathieu-Daudé <philmd@redhat.com> > > v1->v2: move the 'dst_type' declaration.(Base on Philippe's suggestion). > --- > hw/dma/xlnx-zdma.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c > index 8fb83f5b07..eeacad59ce 100644 > --- a/hw/dma/xlnx-zdma.c > +++ b/hw/dma/xlnx-zdma.c > @@ -373,7 +373,7 @@ static uint64_t zdma_update_descr_addr(XlnxZDMA *s, bool type, > static void zdma_write_dst(XlnxZDMA *s, uint8_t *buf, uint32_t len) > { > uint32_t dst_size, dlen; > - bool dst_intr, dst_type; > + bool dst_intr; > unsigned int ptype = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, POINT_TYPE); > unsigned int rw_mode = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, MODE); > unsigned int burst_type = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_DATA_ATTR, > @@ -387,17 +387,17 @@ static void zdma_write_dst(XlnxZDMA *s, uint8_t *buf, uint32_t len) > while (len) { > dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2, > SIZE); > - dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, > - TYPE); > if (dst_size == 0 && ptype == PT_MEM) { > uint64_t next; > + bool dst_type = FIELD_EX32(s->dsc_dst.words[3], > + ZDMA_CH_DST_DSCR_WORD3, > + TYPE); > + > next = zdma_update_descr_addr(s, dst_type, > R_ZDMA_CH_DST_CUR_DSCR_LSB); > zdma_load_descriptor(s, next, &s->dsc_dst); > dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2, > SIZE); > - dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, > - TYPE); > } > > /* Match what hardware does by ignoring the dst_size and only using > Applied to my trivial-patches branch. Thanks, Laurent
diff --git a/hw/dma/xlnx-zdma.c b/hw/dma/xlnx-zdma.c index 8fb83f5b07..eeacad59ce 100644 --- a/hw/dma/xlnx-zdma.c +++ b/hw/dma/xlnx-zdma.c @@ -373,7 +373,7 @@ static uint64_t zdma_update_descr_addr(XlnxZDMA *s, bool type, static void zdma_write_dst(XlnxZDMA *s, uint8_t *buf, uint32_t len) { uint32_t dst_size, dlen; - bool dst_intr, dst_type; + bool dst_intr; unsigned int ptype = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, POINT_TYPE); unsigned int rw_mode = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_CTRL0, MODE); unsigned int burst_type = ARRAY_FIELD_EX32(s->regs, ZDMA_CH_DATA_ATTR, @@ -387,17 +387,17 @@ static void zdma_write_dst(XlnxZDMA *s, uint8_t *buf, uint32_t len) while (len) { dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2, SIZE); - dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, - TYPE); if (dst_size == 0 && ptype == PT_MEM) { uint64_t next; + bool dst_type = FIELD_EX32(s->dsc_dst.words[3], + ZDMA_CH_DST_DSCR_WORD3, + TYPE); + next = zdma_update_descr_addr(s, dst_type, R_ZDMA_CH_DST_CUR_DSCR_LSB); zdma_load_descriptor(s, next, &s->dsc_dst); dst_size = FIELD_EX32(s->dsc_dst.words[2], ZDMA_CH_DST_DSCR_WORD2, SIZE); - dst_type = FIELD_EX32(s->dsc_dst.words[3], ZDMA_CH_DST_DSCR_WORD3, - TYPE); } /* Match what hardware does by ignoring the dst_size and only using