@@ -992,7 +992,7 @@ void mtk_ppe_start(struct mtk_ppe *ppe)
992
992
MTK_PPE_KEEPALIVE_DISABLE ) |
993
993
FIELD_PREP (MTK_PPE_TB_CFG_HASH_MODE , 1 ) |
994
994
FIELD_PREP (MTK_PPE_TB_CFG_SCAN_MODE ,
995
- MTK_PPE_SCAN_MODE_KEEPALIVE_AGE ) |
995
+ MTK_PPE_SCAN_MODE_CHECK_AGE ) |
996
996
FIELD_PREP (MTK_PPE_TB_CFG_ENTRY_NUM ,
997
997
MTK_PPE_ENTRIES_SHIFT );
998
998
if (mtk_is_netsys_v2_or_greater (ppe -> eth ))
@@ -1088,17 +1088,21 @@ int mtk_ppe_stop(struct mtk_ppe *ppe)
1088
1088
1089
1089
mtk_ppe_cache_enable (ppe , false);
1090
1090
1091
- /* disable offload engine */
1092
- ppe_clear (ppe , MTK_PPE_GLO_CFG , MTK_PPE_GLO_CFG_EN );
1093
- ppe_w32 (ppe , MTK_PPE_FLOW_CFG , 0 );
1094
-
1095
1091
/* disable aging */
1096
1092
val = MTK_PPE_TB_CFG_AGE_NON_L4 |
1097
1093
MTK_PPE_TB_CFG_AGE_UNBIND |
1098
1094
MTK_PPE_TB_CFG_AGE_TCP |
1099
1095
MTK_PPE_TB_CFG_AGE_UDP |
1100
- MTK_PPE_TB_CFG_AGE_TCP_FIN ;
1096
+ MTK_PPE_TB_CFG_AGE_TCP_FIN |
1097
+ MTK_PPE_TB_CFG_SCAN_MODE ;
1101
1098
ppe_clear (ppe , MTK_PPE_TB_CFG , val );
1102
1099
1103
- return mtk_ppe_wait_busy (ppe );
1100
+ if (mtk_ppe_wait_busy (ppe ))
1101
+ return - ETIMEDOUT ;
1102
+
1103
+ /* disable offload engine */
1104
+ ppe_clear (ppe , MTK_PPE_GLO_CFG , MTK_PPE_GLO_CFG_EN );
1105
+ ppe_w32 (ppe , MTK_PPE_FLOW_CFG , 0 );
1106
+
1107
+ return 0 ;
1104
1108
}
0 commit comments