diff --git a/package/kernel/mac80211/patches/subsys/999-mac80211-NSS-support.patch b/package/kernel/mac80211/patches/subsys/999-mac80211-NSS-support.patch index 0f125c8778..f25c915fe8 100644 --- a/package/kernel/mac80211/patches/subsys/999-mac80211-NSS-support.patch +++ b/package/kernel/mac80211/patches/subsys/999-mac80211-NSS-support.patch @@ -16,7 +16,7 @@ --- a/local-symbols +++ b/local-symbols -@@ -39,6 +39,7 @@ LIB80211_CRYPT_CCMP= +@@ -31,6 +31,7 @@ LIB80211_CRYPT_CCMP= LIB80211_CRYPT_TKIP= LIB80211_DEBUG= MAC80211= @@ -35,9 +35,9 @@ +#endif + struct ieee80211_local; + struct ieee80211_mesh_fast_tx; - /* Maximum number of broadcast/multicast frames to buffer when some of the -@@ -1097,6 +1101,12 @@ struct ieee80211_sub_if_data { +@@ -1118,6 +1122,12 @@ struct ieee80211_sub_if_data { } debugfs; #endif @@ -73,7 +73,7 @@ /** * DOC: Interface list locking * -@@ -439,6 +446,64 @@ static int ieee80211_open(struct net_dev +@@ -441,6 +448,64 @@ static int ieee80211_open(struct net_dev return err; } @@ -138,7 +138,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, bool going_down) { struct ieee80211_local *local = sdata->local; -@@ -800,8 +865,24 @@ static void ieee80211_teardown_sdata(str +@@ -802,8 +867,24 @@ static void ieee80211_teardown_sdata(str ieee80211_link_stop(&sdata->deflink); } @@ -163,7 +163,7 @@ ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev)); } -@@ -814,6 +895,9 @@ ieee80211_get_stats64(struct net_device +@@ -831,6 +912,9 @@ static int ieee80211_netdev_setup_tc(str static const struct net_device_ops ieee80211_dataif_ops = { .ndo_open = ieee80211_open, .ndo_stop = ieee80211_stop, @@ -236,7 +236,7 @@ /* * monitor mode reception * -@@ -2635,10 +2689,16 @@ static void ieee80211_deliver_skb_to_loc +@@ -2611,14 +2665,16 @@ static void ieee80211_deliver_skb_to_loc ether_addr_copy(ehdr->h_dest, sdata->vif.addr); /* deliver to local stack */ @@ -246,7 +246,11 @@ + } +#else if (rx->list) +-#if LINUX_VERSION_IS_GEQ(4,19,0) list_add_tail(&skb->list, rx->list); +-#else +- __skb_queue_tail(rx->list, skb); +-#endif else netif_receive_skb(skb); +#endif @@ -267,7 +271,7 @@ /* misc utils */ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, -@@ -1729,6 +1734,16 @@ static bool ieee80211_tx_frags(struct ie +@@ -1734,6 +1739,16 @@ static bool ieee80211_tx_frags(struct ie return true; } } else { @@ -284,7 +288,7 @@ /* * Since queue is stopped, queue up frames for -@@ -4448,6 +4463,35 @@ static void ieee80211_mlo_multicast_tx(s +@@ -4477,6 +4492,35 @@ static void ieee80211_mlo_multicast_tx(s kfree_skb(skb); } @@ -320,7 +324,7 @@ /** * ieee80211_subif_start_xmit - netif start_xmit function for 802.3 vifs * @skb: packet to be sent -@@ -4461,6 +4505,10 @@ netdev_tx_t ieee80211_subif_start_xmit(s +@@ -4490,6 +4534,10 @@ netdev_tx_t ieee80211_subif_start_xmit(s struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); const struct ethhdr *eth = (void *)skb->data; @@ -331,7 +335,7 @@ if (likely(!is_multicast_ether_addr(eth->h_dest))) goto normal; -@@ -4646,6 +4694,10 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4675,6 +4723,10 @@ netdev_tx_t ieee80211_subif_start_xmit_8 struct ieee80211_key *key; struct sta_info *sta;