diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
index 38d2b53..0d5ca16 100755
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
@@ -319,10 +319,42 @@
 				    size_t len, loff_t *off)
 {
 	struct mtk_eth *eth = file->private_data;
+	char buf[8] = "";
+	int count = len;
+	unsigned long dbg_level = 0;
+
+	len = min(count, sizeof(buf) - 1);
+	if (copy_from_user(buf, ptr, len))
+		return -EFAULT;
+
+	buf[len] = '\0';
+	if (kstrtoul(buf, 0, &dbg_level))
+		return -EINVAL;
 
-	atomic_inc(&force);
-	schedule_work(&eth->pending_work);
-	return len;
+	switch(dbg_level)
+	{
+		case 0:
+			if (atomic_read(&reset_lock) == 0)
+				atomic_inc(&reset_lock);
+			break;
+		case 1:
+			if (atomic_read(&force) == 0)
+				atomic_inc(&force);
+			schedule_work(&eth->pending_work);
+			break;
+		case 2:
+			if (atomic_read(&reset_lock) == 1)
+				atomic_dec(&reset_lock);
+			break;
+		default:
+			pr_info("Usage: echo [level] > /sys/kernel/debug/mtketh/reset\n");
+			pr_info("Commands:	 [level] \n");
+			pr_info("			   0	 disable reset \n");
+			pr_info("			   1	 force reset \n");
+			pr_info("			   2	 enable reset\n");
+			break;
+	}
+	return count;
 }
 
 static const struct file_operations fops_reg_w = {
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_reset.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_reset.c
index e1619cb..4c4f631 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_reset.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_reset.c
@@ -211,7 +211,7 @@
 	if (cur_wdidx == prev_wdidx && is_wtx_busy &&
 	    is_oq_free && is_cdm_full) {
 		err_cnt1++;
-		if (err_cnt1 == 3) {
+		if (err_cnt1 >= 3) {
 			pr_info("WDMA CDM Hang !\n");
 			pr_info("============== Time: %d ================\n",
 				timestamp);
@@ -244,7 +244,7 @@
 		}
 	} else if (is_qfsm_hang && is_qfwd_hang) {
 		err_cnt2++;
-		if (err_cnt2 == 3) {
+		if (err_cnt2 >= 3) {
 			pr_info("QDMA Tx Hang !\n");
 			pr_info("============== Time: %d ================\n",
 				timestamp);
@@ -269,7 +269,7 @@
 		}
 	} else if (is_oq0_stuck && is_cdm1_busy && is_adma_busy) {
 		err_cnt3++;
-		if (err_cnt3 == 3) {
+		if (err_cnt3 >= 3) {
 			pr_info("ADMA Rx Hang !\n");
 			pr_info("============== Time: %d ================\n",
 				timestamp);
