mac80211: fix and refresh NSS support patch

This commit is contained in:
Lucas Asvio
2024-07-17 20:28:51 +02:00
parent f29ad3adb0
commit 2c433b587a

View File

@@ -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;