diff --git a/os/linux/gl_kal.c b/os/linux/gl_kal.c
index 5be6e6d..b67cfaa 100644
--- a/os/linux/gl_kal.c
+++ b/os/linux/gl_kal.c
@@ -1503,14 +1503,40 @@
 	 *     Else, remians the original threshold.
 	*/
 	if (prGlueInfo->prAdapter->rWifiVar.ucTpTestMode == ENUM_TP_TEST_MODE_SIGMA_AC_N_PMF) {
+		P_BSS_INFO_T prWmmBssInfo = prGlueInfo->prAdapter->aprBssInfo[ucBssIndex];
+
 		if ((u2QueueIdx < 3) &&
-		   (GLUE_GET_REF_CNT(prGlueInfo->ai4TxPendingFrameNumPerQueue[ucBssIndex][u2QueueIdx+1])
-		    > 64))
-			u4MaxTxPendingNum = (prGlueInfo->prAdapter->rWifiVar.u4NetifStopTh >> 3);
+			(GLUE_GET_REF_CNT(prGlueInfo->ai4TxPendingFrameNumPerQueue[ucBssIndex][u2QueueIdx+1])
+			> CFG_CERT_WMM_MAX_TX_PENDING)) {
+			/*
+			*	Use au8Statistics[RX_SIZE_ERR_DROP_COUNT] to track RX traffic in certification.
+			*/
+			if ((prWmmBssInfo->eCurrentOPMode == OP_MODE_ACCESS_POINT) &&
+				((prDev->stats.rx_packets -
+				(prGlueInfo->prAdapter->rRxCtrl.au8Statistics[RX_SIZE_ERR_DROP_COUNT]))
+				> CFG_CERT_WMM_MAX_RX_NUM))
+
+				u4MaxTxPendingNum = CFG_CERT_WMM_LOW_STOP_TX_WITH_RX;
+
+			else
+				u4MaxTxPendingNum = CFG_CERT_WMM_LOW_STOP_TX_WO_RX;
+		}
 		else if ((u2QueueIdx > 0) &&
 			(GLUE_GET_REF_CNT(prGlueInfo->ai4TxPendingFrameNumPerQueue[ucBssIndex][u2QueueIdx-1])
-		    > 64))
-			u4MaxTxPendingNum = (prGlueInfo->prAdapter->rWifiVar.u4NetifStopTh * 3);
+			> CFG_CERT_WMM_MAX_TX_PENDING)) {
+			/*
+			*	Use au8Statistics[RX_SIZE_ERR_DROP_COUNT] to track RX traffic in certification.
+			*/
+			if ((prWmmBssInfo->eCurrentOPMode == OP_MODE_ACCESS_POINT) &&
+				((prDev->stats.rx_packets -
+				(prGlueInfo->prAdapter->rRxCtrl.au8Statistics[RX_SIZE_ERR_DROP_COUNT]))
+				> CFG_CERT_WMM_MAX_RX_NUM))
+
+				u4MaxTxPendingNum = CFG_CERT_WMM_HIGH_STOP_TX_WITH_RX;
+
+			else
+				u4MaxTxPendingNum = CFG_CERT_WMM_HIGH_STOP_TX_WO_RX;
+		}
 		else
 			u4MaxTxPendingNum = prGlueInfo->prAdapter->rWifiVar.u4NetifStopTh;
 	}
@@ -1525,6 +1551,10 @@
 		       GLUE_GET_REF_CNT(prGlueInfo->i4TxPendingFrameNum),
 		       GLUE_GET_REF_CNT(prGlueInfo->ai4TxPendingFrameNumPerQueue[ucBssIndex]
 					[u2QueueIdx]));
+
+		/* Re-use au8Statistics[RX_SIZE_ERR_DROP_COUNT] buffer to track RX traffic in certification */
+		if (prGlueInfo->prAdapter->rWifiVar.ucTpTestMode == ENUM_TP_TEST_MODE_SIGMA_AC_N_PMF)
+			prGlueInfo->prAdapter->rRxCtrl.au8Statistics[RX_SIZE_ERR_DROP_COUNT] = prDev->stats.rx_packets;
 	}
 
 	/* Update NetDev statisitcs */
diff --git a/os/linux/include/gl_os.h b/os/linux/include/gl_os.h
index b1e7dad..f5aaea1 100644
--- a/os/linux/include/gl_os.h
+++ b/os/linux/include/gl_os.h
@@ -93,6 +93,14 @@
 #define CFG_TX_STOP_NETIF_PER_QUEUE_THRESHOLD   512	/* packets */
 #define CFG_TX_START_NETIF_PER_QUEUE_THRESHOLD  128	/* packets */
 
+/* WMM Certification Related */
+#define CFG_CERT_WMM_MAX_TX_PENDING			20
+#define CFG_CERT_WMM_MAX_RX_NUM				10
+#define CFG_CERT_WMM_HIGH_STOP_TX_WITH_RX	(CFG_TX_STOP_NETIF_PER_QUEUE_THRESHOLD * 3)
+#define CFG_CERT_WMM_HIGH_STOP_TX_WO_RX		(CFG_TX_STOP_NETIF_PER_QUEUE_THRESHOLD * 2)
+#define CFG_CERT_WMM_LOW_STOP_TX_WITH_RX	(CFG_TX_STOP_NETIF_PER_QUEUE_THRESHOLD >> 4)
+#define CFG_CERT_WMM_LOW_STOP_TX_WO_RX		(CFG_TX_STOP_NETIF_PER_QUEUE_THRESHOLD >> 3)
+
 #define CHIP_NAME    "MT6632"
 
 #define DRV_NAME "["CHIP_NAME"]: "
