[][MAC80211][wed][Fix rcu stall issue when triiger wifi ser]
[Description]
Fix rcu stall issue when triiger wifi ser by checking flush
[Release-log]
N/A
Change-Id: I265928eba1c819bfcfc2d8885149477e19b899fb
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7062677
diff --git a/autobuild_mac80211_release/package/kernel/mt76/patches/3007-mt76-mt7915-wed-find-rx-token-by-physical-address.patch b/autobuild_mac80211_release/package/kernel/mt76/patches/3007-mt76-mt7915-wed-find-rx-token-by-physical-address.patch
index 35d9a77..bcdd37a 100644
--- a/autobuild_mac80211_release/package/kernel/mt76/patches/3007-mt76-mt7915-wed-find-rx-token-by-physical-address.patch
+++ b/autobuild_mac80211_release/package/kernel/mt76/patches/3007-mt76-mt7915-wed-find-rx-token-by-physical-address.patch
@@ -16,7 +16,7 @@
index 5163a8e9..0dce97fb 100644
--- a/dma.c
+++ b/dma.c
-@@ -406,11 +406,30 @@ mt76_dma_get_buf(struct mt76_dev *dev, struct mt76_queue *q, int idx,
+@@ -406,10 +406,29 @@ mt76_dma_get_buf(struct mt76_dev *dev, struct mt76_queue *q, int idx,
if ((q->flags & MT_QFLAG_WED) &&
FIELD_GET(MT_QFLAG_WED_TYPE, q->flags) == MT76_WED_Q_RX) {
@@ -25,8 +25,7 @@
le32_to_cpu(desc->buf1));
- struct mt76_txwi_cache *t = mt76_rx_token_release(dev, token);
+ struct mt76_txwi_cache *t;
- struct mt76_queue_buf qbuf;
-
++
+ if (*more) {
+ spin_lock_bh(&dev->rx_token_lock);
+
@@ -43,7 +42,7 @@
+ if (!find)
+ return NULL;
+ }
-+
+
+ t = mt76_rx_token_release(dev, token);
if (!t)
return NULL;