Fix refcount underflow issue in the pending_work.
If one of the Ethernet interface is down, the pending_work should not
call to mtk_stop() function again to avoid a refcount underflow.
Without this patch, the ETH may experience the kernel panic which
caused by a refcount underflow.
[Release-log]
N/A
Change-Id: I4e1f40640c09372cddad57994da03f70107f133a
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8324564
Add solution of CH395, which is an ethernet IC chip
from WCH company, to dsa, gsw for mt7981, mt7986.
1. For dsa, CR will be written in mediatek_ge.c
2. For gsw, CR will be written in mt7531.c
3. Enable mt7986 mediatek_ge.c config
[Release-log]
This patch will adjust RX min/max gain. Without this patch,
it may cause a link up fail for CH395 chip under 100Mbps.
In order to enhance the stability of your products,
it's better to merge this patch in your codebase.
Change-Id: If07b4ffc060defb5460ecf98339c1cdd3520a128
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7858068
Fix the conditions for adding vlan info.
When eth1.x -> wifi, packets cannot be forwarded through the HW path.
(due to with wrong HNAT vlan info)
The patch fix it.
[Release-log]
N/A
Change-Id: Id9e02493157bfc2f3a4dbf046be127cd491f9b17
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7778652
[Description]
Fix log print level in foe_clear_entry.
There are too many logs when neighbor update,
the logs should be printed on debug level.
[Release-log]
N/A
Change-Id: Ic9b75aa5da33f1ab1f398408811487f72ba9f29b
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7709249
Fix possibly null pointer and memory leak.
When skb_headroom(skb) < FOE_INFO_LEN, it means that hnat headroom of
the message is incomplete and may have been truncated by other functions.
HNAT should return and not relalloc skb.
If without the patch, may met NULL pointer and memory leak issue.
[Release-log]
N/A
Change-Id: I490191fa2be5fd1d664b228ef7c97951d0efe036
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7694271
Fix hook drop normal packet
In some cases, the packet match the to the logic
of eth->wlan of the legacy chip(mt7621).
After failing to find the interface,
it will be discarded by the hnat function.
Here packets should be handed over to the kernel
[Release-log]
N/A
Change-Id: Idca4c6e899e743c89fbcb562f2695a77b02a98af
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7265953
Fix DMA init timeout in network-restart stress test :
1. Turn on the gmac forwarding when mkt_open is only halfway initialized
or start deinit in mtk_close without forbid forwarding in gmac, this
can lead to unknown exceptions.
2. Update the init/deinit order in mtk_open/mtk_close.
3. Move the configure of gdm from mtk_mac_config to mtk_hw_init, avoid
asynchronous operations on gdm config.
4. Update related patches.
[Release-log]
N/A
Change-Id: I80f594948b0c0ddc7eb34bb47e78e2ff74229f6a
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6728789
Fix the conditions for binding VLAN to HNAT.
Whether egress packets carries vlan depends on skb ->vlan_present.
The previous code will fail when encountering the following situation:
PC1->eth1.45-->lan-->PC2.
PC1 send packets with vlan 45,
disable HNAT, PC2 capture packets without vlan.
enable HNAT, PC2 capture packets with vlan.
This patch fix it.
[Release-log]
N/A
Change-Id: Iaa0916680733eda810b37abea2d0bd7201932cfd
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6879837
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
[Description]
Add processing of uninitialized mac header skb in HNAT to avoid crash.
[Release-log]
N/A
Change-Id: I7915ab5cb9c366728b70a6597ba06cb6f984e4a8
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6887447