mac80211: add missing backports for building with 4.14 kernels
authorFelix Fietkau <nbd@nbd.name>
Fri, 14 Aug 2020 14:32:23 +0000 (16:32 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 14 Aug 2020 15:27:31 +0000 (17:27 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/subsys/070-backports-add-netif_receive_skb_list.patch [new file with mode: 0644]
package/kernel/mac80211/patches/subsys/071-backports-add-skb_list_del_init.patch [new file with mode: 0644]

diff --git a/package/kernel/mac80211/patches/subsys/070-backports-add-netif_receive_skb_list.patch b/package/kernel/mac80211/patches/subsys/070-backports-add-netif_receive_skb_list.patch
new file mode 100644 (file)
index 0000000..b26a6bc
--- /dev/null
@@ -0,0 +1,30 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 14 Aug 2020 16:13:45 +0200
+Subject: [PATCH] backports: add netif_receive_skb_list
+
+It will be needed by pending mac80211 changes
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/backport-include/linux/netdevice.h
++++ b/backport-include/linux/netdevice.h
+@@ -372,6 +372,18 @@ static inline int _bp_netdev_upper_dev_l
+       macro_dispatcher(netdev_upper_dev_link, __VA_ARGS__)(__VA_ARGS__)
+ #endif
++#if LINUX_VERSION_IS_LESS(4,19,0)
++static inline void netif_receive_skb_list(struct list_head *head)
++{
++      struct sk_buff *skb, *next;
++
++      list_for_each_entry_safe(skb, next, head, list) {
++              skb_list_del_init(skb);
++              netif_receive_skb(skb);
++      }
++}
++#endif
++
+ #if LINUX_VERSION_IS_LESS(5,0,0)
+ static inline int backport_dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
+ {
diff --git a/package/kernel/mac80211/patches/subsys/071-backports-add-skb_list_del_init.patch b/package/kernel/mac80211/patches/subsys/071-backports-add-skb_list_del_init.patch
new file mode 100644 (file)
index 0000000..ee7e634
--- /dev/null
@@ -0,0 +1,24 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 14 Aug 2020 16:13:55 +0200
+Subject: [PATCH] backports: add skb_list_del_init
+
+It will be needed by pending mac80211 changes
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/backport-include/linux/skbuff.h
++++ b/backport-include/linux/skbuff.h
+@@ -384,6 +384,12 @@ static inline void skb_mark_not_on_list(
+ {
+       skb->next = NULL;
+ }
++
++static inline void skb_list_del_init(struct sk_buff *skb)
++{
++      __list_del_entry(&skb->list);
++      skb_mark_not_on_list(skb);
++}
+ #endif /* 4.19.10 <= x < 4.20 */
+ #endif