What is this code doing (why query link status)? static uint16_t eth_memif_rx_zc(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) { ... struct rte_eth_link link;
if (unlikely((pmd->flags & ETH_MEMIF_FLAG_CONNECTED) == 0)) return 0; if (unlikely(ring == NULL)) { /* Secondary process will attempt to request regions. */ rte_eth_link_get(mq->in_port, &link); <<< Why?? return 0; } It causes Coverity warning: *** CID 351057: Error handling issues (CHECKED_RETURN) /drivers/net/memif/rte_eth_memif.c: 436 in eth_memif_rx_zc() 430 struct rte_eth_link link; 431 432 if (unlikely((pmd->flags & ETH_MEMIF_FLAG_CONNECTED) == 0)) 433 return 0; 434 if (unlikely(ring == NULL)) { 435 /* Secondary process will attempt to request regions. */ >>> CID 351057: Error handling issues (CHECKED_RETURN) >>> Calling "rte_eth_link_get" without checking return value (as is done >>> elsewhere 14 out of 17 times). 436 rte_eth_link_get(mq->in_port, &link); 437 return 0; 438 } 439 440 /* consume interrupt */ 441 if ((ring->flags & MEMIF_RING_FLAG_MASK_INT) == 0) {