[dpdk-stable] [PATCH 17.11 3/3] net/sfc/base: fix PreFAST warnings because of unused return

Yongseok Koh yskoh at mellanox.com
Sat Jan 19 01:42:52 CET 2019


> On Jan 18, 2019, at 7:59 AM, Andrew Rybchenko <arybchenko at solarflare.com> wrote:
> 
> From: Martin Harvey <mharvey at solarflare.com>
> 
> [ backported from upstream commit f394c63d2d33449443a42e86da826c38e98d59b3 ]
> 
> Fixes: 19b64c6ac35f ("net/sfc/base: import libefx base")
> Fixes: d96a34d165b1 ("net/sfc/base: import NVRAM support")
> Fixes: e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
> 
> Signed-off-by: Martin Harvey <mharvey at solarflare.com>
> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
> ---

Compilation failed. Two errors for the label.

drivers/net/sfc/base/ef10_filter.c: In function ‘ef10_filter_insert_all_multicast’:
drivers/net/sfc/base/ef10_filter.c:1247:3: error: label ‘fail2’ used but not defined
   goto fail2;
   ^
drivers/net/sfc/base/ef10_filter.c: In function ‘ef10_filter_get_workarounds’:
drivers/net/sfc/base/ef10_filter.c:1409:1: error: label ‘fail2’ defined but not used [-Werror=unused-label]
 fail2:
 ^
cc1: all warnings being treated as errors
make[4]: *** [ef10_filter.o] Error 1


Thanks,
Yongseok

> drivers/net/sfc/base/ef10_filter.c | 47 ++++++++++++++++++++++++++++++--------
> drivers/net/sfc/base/ef10_mac.c    |  2 +-
> drivers/net/sfc/base/ef10_nic.c    |  4 ++--
> drivers/net/sfc/base/ef10_nvram.c  |  4 ++--
> drivers/net/sfc/base/ef10_tx.c     |  8 ++++---
> drivers/net/sfc/base/efx_port.c    |  2 +-
> 6 files changed, 49 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/net/sfc/base/ef10_filter.c b/drivers/net/sfc/base/ef10_filter.c
> index 0921c5f..b25c186 100644
> --- a/drivers/net/sfc/base/ef10_filter.c
> +++ b/drivers/net/sfc/base/ef10_filter.c
> @@ -1054,12 +1054,15 @@
> 	efx_filter_spec_init_rx(&spec, EFX_FILTER_PRI_AUTO,
> 	    filter_flags,
> 	    eftp->eft_default_rxq);
> -	efx_filter_spec_set_eth_local(&spec, EFX_FILTER_SPEC_VID_UNSPEC, addr);
> +	rc = efx_filter_spec_set_eth_local(&spec, EFX_FILTER_SPEC_VID_UNSPEC,
> +	    addr);
> +	if (rc != 0)
> +		goto fail1;
> 
> 	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
> 	    &eftp->eft_unicst_filter_indexes[eftp->eft_unicst_filter_count]);
> 	if (rc != 0)
> -		goto fail1;
> +		goto fail2;
> 
> 	eftp->eft_unicst_filter_count++;
> 	EFSYS_ASSERT(eftp->eft_unicst_filter_count <=
> @@ -1067,6 +1070,8 @@
> 
> 	return (0);
> 
> +fail2:
> +	EFSYS_PROBE(fail2);
> fail1:
> 	EFSYS_PROBE1(fail1, efx_rc_t, rc);
> 	return (rc);
> @@ -1085,11 +1090,13 @@
> 	efx_filter_spec_init_rx(&spec, EFX_FILTER_PRI_AUTO,
> 	    filter_flags,
> 	    eftp->eft_default_rxq);
> -	efx_filter_spec_set_uc_def(&spec);
> +	rc = efx_filter_spec_set_uc_def(&spec);
> +	if (rc != 0)
> +		goto fail1;
> 	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
> 	    &eftp->eft_unicst_filter_indexes[eftp->eft_unicst_filter_count]);
> 	if (rc != 0)
> -		goto fail1;
> +		goto fail2;
> 
> 	eftp->eft_unicst_filter_count++;
> 	EFSYS_ASSERT(eftp->eft_unicst_filter_count <=
> @@ -1097,6 +1104,8 @@
> 
> 	return (0);
> 
> +fail2:
> +	EFSYS_PROBE(fail2);
> fail1:
> 	EFSYS_PROBE1(fail1, efx_rc_t, rc);
> 	return (rc);
> @@ -1138,9 +1147,21 @@
> 		    filter_flags,
> 		    eftp->eft_default_rxq);
> 
> -		efx_filter_spec_set_eth_local(&spec,
> +		rc = efx_filter_spec_set_eth_local(&spec,
> 		    EFX_FILTER_SPEC_VID_UNSPEC,
> 		    &addrs[i * EFX_MAC_ADDR_LEN]);
> +		if (rc != 0) {
> +			if (rollback == B_TRUE) {
> +				/* Only stop upon failure if told to rollback */
> +				goto rollback;
> +			} else {
> +				/*
> +				 * Don't try to add a filter with a corrupt
> +				 * specification.
> +				 */
> +				continue;
> +			}
> +		}
> 
> 		rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
> 					    &filter_index);
> @@ -1163,8 +1184,12 @@
> 		    eftp->eft_default_rxq);
> 
> 		EFX_MAC_BROADCAST_ADDR_SET(addr);
> -		efx_filter_spec_set_eth_local(&spec, EFX_FILTER_SPEC_VID_UNSPEC,
> -		    addr);
> +		rc = efx_filter_spec_set_eth_local(&spec,
> +		    EFX_FILTER_SPEC_VID_UNSPEC, addr);
> +		if ((rc != 0) && (rollback == B_TRUE)) {
> +			/* Only stop upon failure if told to rollback */
> +			goto rollback;
> +		}
> 
> 		rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
> 					    &filter_index);
> @@ -1212,12 +1237,14 @@
> 	efx_filter_spec_init_rx(&spec, EFX_FILTER_PRI_AUTO,
> 	    filter_flags,
> 	    eftp->eft_default_rxq);
> -	efx_filter_spec_set_mc_def(&spec);
> +	rc = efx_filter_spec_set_mc_def(&spec);
> +	if (rc != 0)
> +		goto fail1;
> 
> 	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
> 	    &eftp->eft_mulcst_filter_indexes[0]);
> 	if (rc != 0)
> -		goto fail1;
> +		goto fail2;
> 
> 	eftp->eft_mulcst_filter_count = 1;
> 	eftp->eft_using_all_mulcst = B_TRUE;
> @@ -1379,6 +1406,8 @@
> 
> 	return (0);
> 
> +fail2:
> +	EFSYS_PROBE(fail2);
> fail1:
> 	EFSYS_PROBE1(fail1, efx_rc_t, rc);
> 
> diff --git a/drivers/net/sfc/base/ef10_mac.c b/drivers/net/sfc/base/ef10_mac.c
> index de8908d..831c79d 100644
> --- a/drivers/net/sfc/base/ef10_mac.c
> +++ b/drivers/net/sfc/base/ef10_mac.c
> @@ -431,7 +431,7 @@
> 
> 	ef10_filter_default_rxq_clear(enp);
> 
> -	efx_filter_reconfigure(enp, epp->ep_mac_addr,
> +	(void) efx_filter_reconfigure(enp, epp->ep_mac_addr,
> 				    epp->ep_all_unicst, epp->ep_mulcst,
> 				    epp->ep_all_mulcst, epp->ep_brdcst,
> 				    epp->ep_mulcst_addr_list,
> diff --git a/drivers/net/sfc/base/ef10_nic.c b/drivers/net/sfc/base/ef10_nic.c
> index 5432d3b..c92acea 100644
> --- a/drivers/net/sfc/base/ef10_nic.c
> +++ b/drivers/net/sfc/base/ef10_nic.c
> @@ -754,7 +754,7 @@
> 	for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
> 		handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
> 
> -		efx_mcdi_free_piobuf(enp, *handlep);
> +		(void) efx_mcdi_free_piobuf(enp, *handlep);
> 		*handlep = EFX_PIOBUF_HANDLE_INVALID;
> 	}
> 	enp->en_arch.ef10.ena_piobuf_count = 0;
> @@ -771,7 +771,7 @@
> 	for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
> 		handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
> 
> -		efx_mcdi_free_piobuf(enp, *handlep);
> +		(void) efx_mcdi_free_piobuf(enp, *handlep);
> 		*handlep = EFX_PIOBUF_HANDLE_INVALID;
> 	}
> 	enp->en_arch.ef10.ena_piobuf_count = 0;
> diff --git a/drivers/net/sfc/base/ef10_nvram.c b/drivers/net/sfc/base/ef10_nvram.c
> index b020d48..75ac015 100644
> --- a/drivers/net/sfc/base/ef10_nvram.c
> +++ b/drivers/net/sfc/base/ef10_nvram.c
> @@ -1825,7 +1825,7 @@ static uint32_t checksum_tlv_partition(
> 		goto fail7;
> 
> 	/* Unlock the partition */
> -	ef10_nvram_partn_unlock(enp, partn, NULL);
> +	(void) ef10_nvram_partn_unlock(enp, partn, NULL);
> 
> 	EFSYS_KMEM_FREE(enp->en_esip, partn_size, partn_data);
> 
> @@ -1840,7 +1840,7 @@ static uint32_t checksum_tlv_partition(
> fail4:
> 	EFSYS_PROBE(fail4);
> 
> -	ef10_nvram_partn_unlock(enp, partn, NULL);
> +	(void) ef10_nvram_partn_unlock(enp, partn, NULL);
> fail3:
> 	EFSYS_PROBE(fail3);
> 
> diff --git a/drivers/net/sfc/base/ef10_tx.c b/drivers/net/sfc/base/ef10_tx.c
> index 175bdb6..32de4a3 100644
> --- a/drivers/net/sfc/base/ef10_tx.c
> +++ b/drivers/net/sfc/base/ef10_tx.c
> @@ -284,7 +284,7 @@
> 
> fail3:
> 	EFSYS_PROBE(fail3);
> -	ef10_nic_pio_free(enp, etp->et_pio_bufnum, etp->et_pio_blknum);
> +	(void) ef10_nic_pio_free(enp, etp->et_pio_bufnum, etp->et_pio_blknum);
> fail2:
> 	EFSYS_PROBE(fail2);
> 	etp->et_pio_size = 0;
> @@ -302,10 +302,12 @@
> 
> 	if (etp->et_pio_size != 0) {
> 		/* Unlink the piobuf from this TXQ */
> -		ef10_nic_pio_unlink(enp, etp->et_index);
> +		if (ef10_nic_pio_unlink(enp, etp->et_index) != 0)
> +			return;
> 
> 		/* Free the sub-allocated PIO block */
> -		ef10_nic_pio_free(enp, etp->et_pio_bufnum, etp->et_pio_blknum);
> +		(void) ef10_nic_pio_free(enp, etp->et_pio_bufnum,
> +		    etp->et_pio_blknum);
> 		etp->et_pio_size = 0;
> 		etp->et_pio_write_offset = 0;
> 	}
> diff --git a/drivers/net/sfc/base/efx_port.c b/drivers/net/sfc/base/efx_port.c
> index 41cbe90..7584e5a 100644
> --- a/drivers/net/sfc/base/efx_port.c
> +++ b/drivers/net/sfc/base/efx_port.c
> @@ -61,7 +61,7 @@
> 	epp->ep_emop->emo_reconfigure(enp);
> 
> 	/* Pick up current phy capababilities */
> -	efx_port_poll(enp, NULL);
> +	(void) efx_port_poll(enp, NULL);
> 
> 	/*
> 	 * Turn on the PHY if available, otherwise reset it, and
> -- 
> 1.8.3.1
> 



More information about the stable mailing list