On 9/11/2017 4:13 PM, Olivier Matz wrote: > The compilation with gcc-6.3.0 and EXTRA_CFLAGS=-Og gives the following > error: > > CC i40e_adminq.o > i40e_adminq.c: In function ‘i40e_clean_arq_element’: > i40e_adminq.c:1145:56: error: ‘ntu’ may be used uninitialized in > this function [-Werror=maybe-uninitialized] > *pending = (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc); > ~~~~~^~~~~~ > > Depending on what is defined, ntu actually be used without being > initialized. Fix it by initializing it to 0, despite this is probably > not the proper fix. Moreover, the error is located in base/ directory, > which contains driver code common to several platforms (not only dpdk).
This practically seems false positive because driver makefile hard-coded both defines. Also ntu used before this location, not sure warning generated for here. Overall I am for fixing the compile warning, but for decision maintainer cc'ed because this being base code update requires maintainer communicate other channels to reflect update into base code. > > Signed-off-by: Olivier Matz <olivier.m...@6wind.com> > --- > drivers/net/i40e/base/i40e_adminq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/i40e_adminq.c > b/drivers/net/i40e/base/i40e_adminq.c > index 8cc8c5eca..27c133323 100644 > --- a/drivers/net/i40e/base/i40e_adminq.c > +++ b/drivers/net/i40e/base/i40e_adminq.c > @@ -1047,7 +1047,7 @@ enum i40e_status_code i40e_clean_arq_element(struct > i40e_hw *hw, > u16 desc_idx; > u16 datalen; > u16 flags; > - u16 ntu; > + u16 ntu = 0; > > /* pre-clean the event info */ > i40e_memset(&e->desc, 0, sizeof(e->desc), I40E_NONDMA_MEM); >