[dpdk-dev] net/sfc/base: remove Falcon-specific concurrency check

Message ID 1511175696-29379-1-git-send-email-arybchenko@solarflare.com
State Accepted, archived
Delegated to: Ferruh Yigit
Headers show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Andrew Rybchenko Nov. 20, 2017, 11:01 a.m.
From: Ivan Malov <Ivan.Malov@oktetlabs.ru>

Falcon support has been withdrawn from libefx, however, there is still
an obsolete Falcon-specific assertion that efx_mac_stats_upload()
and efx_port_poll() aren't concurrent. To be consistent with an overall
Falcon support revocation it's desirable to remove it.

Fix debug build invalid assertion failure.

Fixes: 19b64c6ac35f ("net/sfc/base: import libefx base")
Fixes: 8c7c723dfe7c ("net/sfc/base: import MAC statistics")
Cc: stable@dpdk.org

Signed-off-by: Ivan Malov <Ivan.Malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
---
 drivers/net/sfc/base/efx_impl.h | 1 -
 drivers/net/sfc/base/efx_mac.c  | 9 ---------
 drivers/net/sfc/base/efx_port.c | 1 -
 3 files changed, 11 deletions(-)

Comments

Ferruh Yigit Nov. 29, 2017, 12:08 a.m. | #1
On 11/20/2017 3:01 AM, Andrew Rybchenko wrote:
> From: Ivan Malov <Ivan.Malov@oktetlabs.ru>
> 
> Falcon support has been withdrawn from libefx, however, there is still
> an obsolete Falcon-specific assertion that efx_mac_stats_upload()
> and efx_port_poll() aren't concurrent. To be consistent with an overall
> Falcon support revocation it's desirable to remove it.
> 
> Fix debug build invalid assertion failure.
> 
> Fixes: 19b64c6ac35f ("net/sfc/base: import libefx base")
> Fixes: 8c7c723dfe7c ("net/sfc/base: import MAC statistics")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ivan Malov <Ivan.Malov@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Reviewed-by: Andy Moreton <amoreton@solarflare.com>

Applied to dpdk-next-net/master, thanks.

Patch

diff --git a/drivers/net/sfc/base/efx_impl.h b/drivers/net/sfc/base/efx_impl.h
index 53fa37a..95bd6a2 100644
--- a/drivers/net/sfc/base/efx_impl.h
+++ b/drivers/net/sfc/base/efx_impl.h
@@ -296,7 +296,6 @@  typedef struct efx_port_s {
 	uint32_t		ep_default_adv_cap_mask;
 	uint32_t		ep_phy_cap_mask;
 	boolean_t		ep_mac_drain;
-	boolean_t		ep_mac_stats_pending;
 #if EFSYS_OPT_BIST
 	efx_bist_type_t		ep_current_bist;
 #endif
diff --git a/drivers/net/sfc/base/efx_mac.c b/drivers/net/sfc/base/efx_mac.c
index 752e720..0cf2731 100644
--- a/drivers/net/sfc/base/efx_mac.c
+++ b/drivers/net/sfc/base/efx_mac.c
@@ -751,16 +751,9 @@  efx_mac_stats_upload(
 	EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT);
 	EFSYS_ASSERT(emop != NULL);
 
-	/*
-	 * Don't assert !ep_mac_stats_pending, because the client might
-	 * have failed to finalise statistics when previously stopping
-	 * the port.
-	 */
 	if ((rc = emop->emo_stats_upload(enp, esmp)) != 0)
 		goto fail1;
 
-	epp->ep_mac_stats_pending = B_TRUE;
-
 	return (0);
 
 fail1:
@@ -820,8 +813,6 @@  efx_mac_stats_update(
 	EFSYS_ASSERT(emop != NULL);
 
 	rc = emop->emo_stats_update(enp, esmp, essp, generationp);
-	if (rc == 0)
-		epp->ep_mac_stats_pending = B_FALSE;
 
 	return (rc);
 }
diff --git a/drivers/net/sfc/base/efx_port.c b/drivers/net/sfc/base/efx_port.c
index 518c2a2..e8b885a 100644
--- a/drivers/net/sfc/base/efx_port.c
+++ b/drivers/net/sfc/base/efx_port.c
@@ -109,7 +109,6 @@  efx_port_poll(
 	EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT);
 
 	EFSYS_ASSERT(emop != NULL);
-	EFSYS_ASSERT(!epp->ep_mac_stats_pending);
 
 	if (link_modep == NULL)
 		link_modep = &ignore_link_mode;