mac80211: ath11k: add workaround for memory leak issue

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2023-09-16 16:25:36 +08:00
parent b9cda8a4e3
commit 3f3094e87c
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
3 changed files with 16 additions and 3 deletions

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5034,6 +5034,7 @@ static void ath10k_mac_setup_ht_vht_cap(
@@ -5036,6 +5036,7 @@ static void ath10k_mac_setup_ht_vht_cap(
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
band = &ar->mac.sbands[NL80211_BAND_2GHZ];
band->ht_cap = ht_cap;

View File

@ -0,0 +1,13 @@
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -370,8 +370,8 @@ int ath11k_dp_rxbufs_replenish(struct at
num_remain = req_entries;
while (num_remain > 0) {
- skb = dev_alloc_skb(DP_RX_BUFFER_SIZE +
- DP_RX_BUFFER_ALIGN_SIZE);
+ skb = alloc_skb(DP_RX_BUFFER_SIZE +
+ DP_RX_BUFFER_ALIGN_SIZE, GFP_ATOMIC);
if (!skb)
break;

View File

@ -12,7 +12,7 @@
have_80mhz = true;
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1955,7 +1955,8 @@ static int ieee80211_build_preq_ies_band
@@ -2079,7 +2079,8 @@ static int ieee80211_build_preq_ies_band
/* Check if any channel in this sband supports at least 80 MHz */
for (i = 0; i < sband->n_channels; i++) {
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
@ -24,7 +24,7 @@
have_80mhz = true;
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4744,7 +4744,8 @@ static int ieee80211_prep_channel(struct
@@ -4969,7 +4969,8 @@ static int ieee80211_prep_channel(struct
have_80mhz = false;
for (i = 0; i < sband->n_channels; i++) {
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |