forked from Openwrt/openwrt
dceb5938f8
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.29 Removed upstreamed: generic/backport-6.6/740-v6.9-01-netfilter-flowtable-validate-pppoe-header.patch[1] generic/backport-6.6/740-v6.9-02-netfilter-flowtable-incorrect-pppoe-tuple.patch[2] generic/backport-6.6/790-29-v6.9-net-dsa-mt7530-fix-improper-frames-on-all-25MHz-and-.patch[3] generic/backport-6.6/790-31-v6.10-net-dsa-mt7530-fix-enabling-EEE-on-MT7531-switch-on-.patch[4] generic/backport-6.6/790-34-v6.10-net-dsa-mt7530-fix-mirroring-frames-received-on-loca.patch[5] generic/backport-6.6/790-35-v6.10-net-dsa-mt7530-fix-port-mirroring-for-MT7988-SoC-swi.patch[6] mediatek/patches-6.6/963-net-ethernet-mtk_eth_soc-fix-WED-wifi-reset.patch[7] Manually rebased: generic/backport-6.6/790-23-v6.9-net-dsa-mt7530-get-rid-of-priv-info-cpu_port_config.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=a2471d271042ea18e8a6babc132a8716bb2f08b9 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=4ed82dd368ad883dc4284292937b882f044e625d 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=21b9d89d93422221cdda1b82fd075fa3c94a11d9 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=bd41ee1efd478852a0882ce5f136bc2b5e83eff2 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=d1be3960539249a8690ed09a29d0e3bf34189dd2 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=f8de1b6208bf71bd3102548d33dd8475573ad2ea 7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.29&id=6855f724f19620c3ddff57c349e0abba797475b1 Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
69 lines
1.5 KiB
Diff
69 lines
1.5 KiB
Diff
From: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Date: Wed, 13 Sep 2023 20:42:47 +0200
|
|
Subject: [PATCH] net: ethernet: mtk_wed: do not assume offload callbacks are
|
|
always set
|
|
|
|
Check if wlan.offload_enable and wlan.offload_disable callbacks are set
|
|
in mtk_wed_flow_add/mtk_wed_flow_remove since mt7996 will not rely
|
|
on them.
|
|
|
|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
|
|
Reviewed-by: Simon Horman <horms@kernel.org>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
|
|
--- a/drivers/net/ethernet/mediatek/mtk_wed.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_wed.c
|
|
@@ -1709,19 +1709,20 @@ mtk_wed_irq_set_mask(struct mtk_wed_devi
|
|
int mtk_wed_flow_add(int index)
|
|
{
|
|
struct mtk_wed_hw *hw = hw_list[index];
|
|
- int ret;
|
|
+ int ret = 0;
|
|
|
|
- if (!hw || !hw->wed_dev)
|
|
- return -ENODEV;
|
|
+ mutex_lock(&hw_lock);
|
|
|
|
- if (hw->num_flows) {
|
|
- hw->num_flows++;
|
|
- return 0;
|
|
+ if (!hw || !hw->wed_dev) {
|
|
+ ret = -ENODEV;
|
|
+ goto out;
|
|
}
|
|
|
|
- mutex_lock(&hw_lock);
|
|
- if (!hw->wed_dev) {
|
|
- ret = -ENODEV;
|
|
+ if (!hw->wed_dev->wlan.offload_enable)
|
|
+ goto out;
|
|
+
|
|
+ if (hw->num_flows) {
|
|
+ hw->num_flows++;
|
|
goto out;
|
|
}
|
|
|
|
@@ -1740,14 +1741,15 @@ void mtk_wed_flow_remove(int index)
|
|
{
|
|
struct mtk_wed_hw *hw = hw_list[index];
|
|
|
|
- if (!hw)
|
|
- return;
|
|
+ mutex_lock(&hw_lock);
|
|
|
|
- if (--hw->num_flows)
|
|
- return;
|
|
+ if (!hw || !hw->wed_dev)
|
|
+ goto out;
|
|
|
|
- mutex_lock(&hw_lock);
|
|
- if (!hw->wed_dev)
|
|
+ if (!hw->wed_dev->wlan.offload_disable)
|
|
+ goto out;
|
|
+
|
|
+ if (--hw->num_flows)
|
|
goto out;
|
|
|
|
hw->wed_dev->wlan.offload_disable(hw->wed_dev);
|