[dpdk-dev] net/fm10k: fix logical port delete

Message ID 1512784541-128860-1-git-send-email-xiao.w.wang@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Helin Zhang
Headers

Checks

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

Commit Message

Xiao Wang Dec. 9, 2017, 1:55 a.m. UTC
  When closing port, we need to send mailbox messages to switch manager
to reset multicast mode and delete logical port. In the latest IES_SDK,
e.g. v4.3.3, switch takes longer time to handle these mailbox messages.

So this patch adds longer delay to accommodate this change. Otherwise,
the mailbox will be closed before all the messages are handled, as a
result, the logical port remains in switch manager after port is closed.

Fixes: b961fe9344dd ("net/fm10k: fix MAC address removal from switch")
Cc: stable@dpdk.org

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Zhang, Helin Dec. 20, 2017, 5:44 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Xiao Wang
> Sent: Saturday, December 9, 2017 9:56 AM
> To: Zhang, Qi Z
> Cc: dev@dpdk.org; stable@dpdk.org; Wang, Xiao W
> Subject: [dpdk-dev] [PATCH] net/fm10k: fix logical port delete
> 
> When closing port, we need to send mailbox messages to switch manager to
> reset multicast mode and delete logical port. In the latest IES_SDK, e.g. v4.3.3,
> switch takes longer time to handle these mailbox messages.
> 
> So this patch adds longer delay to accommodate this change. Otherwise, the
> mailbox will be closed before all the messages are handled, as a result, the
> logical port remains in switch manager after port is closed.
> 
> Fixes: b961fe9344dd ("net/fm10k: fix MAC address removal from switch")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
  
Zhang, Helin Dec. 20, 2017, 5:50 a.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhang, Helin
> Sent: Wednesday, December 20, 2017 1:44 PM
> To: Wang, Xiao W; Zhang, Qi Z
> Cc: dev@dpdk.org; stable@dpdk.org; Wang, Xiao W
> Subject: Re: [dpdk-dev] [PATCH] net/fm10k: fix logical port delete
> 
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Xiao Wang
> > Sent: Saturday, December 9, 2017 9:56 AM
> > To: Zhang, Qi Z
> > Cc: dev@dpdk.org; stable@dpdk.org; Wang, Xiao W
> > Subject: [dpdk-dev] [PATCH] net/fm10k: fix logical port delete
> >
> > When closing port, we need to send mailbox messages to switch manager
> > to reset multicast mode and delete logical port. In the latest
> > IES_SDK, e.g. v4.3.3, switch takes longer time to handle these mailbox
> messages.
> >
> > So this patch adds longer delay to accommodate this change. Otherwise,
> > the mailbox will be closed before all the messages are handled, as a
> > result, the logical port remains in switch manager after port is closed.
> >
> > Fixes: b961fe9344dd ("net/fm10k: fix MAC address removal from switch")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
> Acked-by: Helin Zhang <helin.zhang@intel.com>
Applied to next-net-intel. Thanks a lot! /Helin
  

Patch

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 2d05a46..58dac38 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -54,7 +54,7 @@ 
 /* Wait interval to get switch status */
 #define WAIT_SWITCH_MSG_US    100000
 /* A period of quiescence for switch */
-#define FM10K_SWITCH_QUIESCE_US 10000
+#define FM10K_SWITCH_QUIESCE_US 100000
 /* Number of chars per uint32 type */
 #define CHARS_PER_UINT32 (sizeof(uint32_t))
 #define BIT_MASK_PER_UINT32 ((1 << CHARS_PER_UINT32) - 1)
@@ -1242,7 +1242,7 @@  static inline int fm10k_glort_valid(struct fm10k_hw *hw)
 		MAX_LPORT_NUM, false);
 	fm10k_mbx_unlock(hw);
 
-	/* allow 10ms for device to quiesce */
+	/* allow 100ms for device to quiesce */
 	rte_delay_us(FM10K_SWITCH_QUIESCE_US);
 
 	/* Stop mailbox service first */