All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hauke Mehrtens <hauke@hauke-m.de>
To: backports@vger.kernel.org
Cc: johannes@sipsolutions.net, Hauke Mehrtens <hauke@hauke-m.de>
Subject: [PATCH 28/30] backports: Make ieee80211_tx_status handling work on older kernel versions
Date: Tue,  1 Dec 2020 23:04:13 +0100	[thread overview]
Message-ID: <20201201220415.30582-29-hauke@hauke-m.de> (raw)
In-Reply-To: <20201201220415.30582-1-hauke@hauke-m.de>

The commit f02dff93e26b ("mac80211: extend ieee80211_tx_status_ext to
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.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 patches/0097-skb-list/mac80211-status.patch | 47 +++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 patches/0097-skb-list/mac80211-status.patch

diff --git a/patches/0097-skb-list/mac80211-status.patch b/patches/0097-skb-list/mac80211-status.patch
new file mode 100644
index 00000000..ab968445
--- /dev/null
+++ b/patches/0097-skb-list/mac80211-status.patch
@@ -0,0 +1,47 @@
+Make ieee80211_tx_status handling work on older kernel versions
+
+The commit f02dff93e26b ("mac80211: extend ieee80211_tx_status_ext to
+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.
+
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -1132,7 +1132,11 @@ struct ieee80211_tx_status {
+ 	struct ieee80211_tx_info *info;
+ 	struct sk_buff *skb;
+ 	struct rate_info *rate;
++#if LINUX_VERSION_IS_GEQ(4,19,0)
+ 	struct list_head *free_list;
++#else
++	struct sk_buff_head *free_list;
++#endif
+ };
+ 
+ /**
+--- a/net/mac80211/status.c
++++ b/net/mac80211/status.c
+@@ -1033,7 +1033,11 @@ static void __ieee80211_tx_status(struct
+ 	 */
+ 	if (!local->monitors && (!send_to_cooked || !local->cooked_mntrs)) {
+ 		if (status->free_list)
++#if LINUX_VERSION_IS_GEQ(4,19,0)
+ 			list_add_tail(&skb->list, status->free_list);
++#else
++			__skb_queue_tail(status->free_list, skb);
++#endif
+ 		else
+ 			dev_kfree_skb(skb);
+ 		return;
+@@ -1183,7 +1187,11 @@ free:
+ 
+ 	ieee80211_report_used_skb(local, skb, false);
+ 	if (status->free_list)
++#if LINUX_VERSION_IS_GEQ(4,19,0)
+ 		list_add_tail(&skb->list, status->free_list);
++#else
++		__skb_queue_tail(status->free_list, skb);
++#endif
+ 	else
+ 		dev_kfree_skb(skb);
+ }
-- 
2.20.1

--
To unsubscribe from this list: send the line "unsubscribe backports" in

  parent reply	other threads:[~2020-12-01 22:06 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01 22:03 [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 01/30] backports: Adapt to changes in Ubuntu mainline URLs Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 02/30] gentree.py: Remoace space between -I and $(src) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 03/30] backports: Extend NOSTDINC_FLAGS Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 04/30] patches: Refresh on kernel 5.8.18 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 05/30] backports: add sched_set_fifo_low Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 06/30] backports: add tasklet_setup, from_tasklet Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 07/30] backports: Add time64_to_tm and ipv6_mc_check_mld Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 08/30] backprots: make patches apply on 5.9.11 Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 09/30] header: add module_sdio_driver Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 10/30] header: Rename kfree_sensitive(x) to kzfree(x) Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 11/30] header: dummy implementation for thermal_zone_device_enable Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 12/30] header: Add __skb_put_zero() Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 13/30] dependency: add MT7663S Hauke Mehrtens
2020-12-01 22:03 ` [PATCH 14/30] backports: add gpiochip_request_own_desc() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 15/30] backports: Add microchip wilc1000 driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 16/30] backports: Make rx_list handling work on older kernel versions Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 17/30] patches: Add missing linux/kthread.h include Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 18/30] patches: Add include to rtw88 Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 19/30] patches: handle netdev_walk_all_lower_dev() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 20/30] patches: Remove unneeded 0018-pv-trace-fixes patch Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 21/30] patches: Refresh on kernel 5.10-rc6 Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 22/30] patches: Avoid using NLA_POLICY_RANGE(NLA_BINARY, ...) Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 23/30] patches: Deactivate hikey9xx staging driver Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 24/30] patches: Revert usage of small_ops Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 25/30] headers: Add DEFINE_SEQ_ATTRIBUTE Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 26/30] backports: Add netif_rx_any_context() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 27/30] backports: Add dev_fetch_sw_netstats() Hauke Mehrtens
2020-12-01 22:04 ` Hauke Mehrtens [this message]
2020-12-01 22:04 ` [PATCH 29/30] backports: Add sysfs_emit() Hauke Mehrtens
2020-12-01 22:04 ` [PATCH 30/30] backports: Remove crypto/akcipher.h Hauke Mehrtens
2020-12-06 15:57 ` [PATCH 00/30] backports: Update to match kernel 5.10-rc6 Hauke Mehrtens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201201220415.30582-29-hauke@hauke-m.de \
    --to=hauke@hauke-m.de \
    --cc=backports@vger.kernel.org \
    --cc=johannes@sipsolutions.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.