[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