[][kernel][common][hnat][Fix the problem that deleting wifi subinterface fails]

[Description]
Fix the problem that deleting wifi subinterface fails.
Fix duplication of adding the same subinterface to whnat_interface.

The previous code will fail when encountering the following situations:
1:Add subinterface to whnat_interface and then delete it,
finally, delete the subinterface failed.
2:Add wifi subinterface(eg:rax0.200) to whnat_interface, then rax0 down,
add the same wifi subinterface to whnat_interface through echo command.
there are two identical wifi subinrefaces in whnat_interface.

The patch fix these.

[Release-log]
N/A


Change-Id: I6ae98fbfc12522cfd6528df81509e5bc30a87e76
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6873054
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
index 7c08cfd..9c0d691 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
@@ -1313,6 +1313,7 @@
 			mtk_ppe_dev_unregister_hook(dev);
 			pr_info("unregister wifi extern if = %s\n", dev->name);
 		}
+		dev_put(dev);
 	} else {
 		pr_info("no such device!\n");
 	}
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c
index 4b11373..9c68a54 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_nf_hook.c
@@ -1968,6 +1968,9 @@
 				__func__, dev->name, i);
 			return;
 		}
+	}
+
+	for (i = 1; i < MAX_IF_NUM; i++) {
 		if (!hnat_priv->wifi_hook_if[i]) {
 			if (find_extif_from_devname(dev->name)) {
 				extif_set_dev(dev);