From: Long Wu <long...@corigine.com> If the packet without meta data, the initialization logic of 'meta->flags' will be skipped and lead to the wrong logic because of 'meta->flags' has random value.
Fix it by make sure 'meta->flags' can be initialized in any situation. Fixes: 5eed6ad5a7b9 ("net/nfp: use flag bits to control meta data parsing") Cc: sta...@dpdk.org Signed-off-by: Long Wu <long...@corigine.com> Reviewed-by: Chaoyong He <chaoyong...@corigine.com> Reviewed-by: Peng Zhang <peng.zh...@corigine.com> Reviewed-by: Zerun Fu <zerun...@corigine.com> --- drivers/net/nfp/nfp_net_meta.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfp_net_meta.c b/drivers/net/nfp/nfp_net_meta.c index fa7e0d3d00..b31ef56f17 100644 --- a/drivers/net/nfp/nfp_net_meta.c +++ b/drivers/net/nfp/nfp_net_meta.c @@ -27,7 +27,6 @@ nfp_net_meta_parse_chained(uint8_t *meta_base, meta_info = rte_be_to_cpu_32(meta_header); meta_offset = meta_base + 4; - meta->flags = 0; for (; meta_info != 0; meta_info >>= NFP_NET_META_FIELD_SIZE, meta_offset += 4) { switch (meta_info & NFP_NET_META_FIELD_MASK) { @@ -237,6 +236,8 @@ nfp_net_meta_parse(struct nfp_net_rx_desc *rxds, uint8_t *meta_base; rte_be32_t meta_header; + meta->flags = 0; + if (unlikely(NFP_DESC_META_LEN(rxds) == 0)) return; -- 2.39.1