@@ -5,12 +5,14 @@ support bulk free") makes use of the list attribute in the skb, but this
is not available in kernel < 4.19, use the sk_buff_head instead on these
kernel versions.
+diff --git a/include/net/mac80211.h b/include/net/mac80211.h
+index 47642b020706..1abda970a6e6 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -1137,7 +1137,11 @@ struct ieee80211_tx_status {
- struct ieee80211_tx_info *info;
- struct sk_buff *skb;
- struct rate_info *rate;
+@@ -1178,7 +1178,11 @@ struct ieee80211_tx_status {
+ struct ieee80211_rate_status *rates;
+ u8 n_rates;
+
+#if LINUX_VERSION_IS_GEQ(4,19,0)
struct list_head *free_list;
+#else
@@ -19,9 +21,11 @@ kernel versions.
};
/**
+diff --git a/net/mac80211/status.c b/net/mac80211/status.c
+index e69272139437..549d50aac4b0 100644
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
-@@ -1060,7 +1060,11 @@ static void __ieee80211_tx_status(struct
+@@ -1075,7 +1075,11 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw,
*/
if (!local->monitors && (!send_to_cooked || !local->cooked_mntrs)) {
if (status->free_list)
@@ -33,7 +37,7 @@ kernel versions.
else
dev_kfree_skb(skb);
return;
-@@ -1210,7 +1214,11 @@ free:
+@@ -1228,7 +1232,11 @@ void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
ieee80211_report_used_skb(local, skb, false);
if (status->free_list)