summaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
authorSara Sharon <sara.sharon@intel.com>2018-09-05 08:06:11 +0300
committerJohannes Berg <johannes.berg@intel.com>2018-09-05 10:11:50 +0200
commit9739fe29a207ffff55361a3047e7780ebddccdb2 (patch)
tree171bb83bc4c8f0290d4ac051c1bafbe61de8aec9 /net/mac80211/tx.c
parentedba6bdad6fef787c0363e8a1e7d91e8d6a10129 (diff)
downloadlinux-9739fe29a207ffff55361a3047e7780ebddccdb2.tar.bz2
mac80211: add an option for drivers to check if packets can be aggregated
Some hardwares have limitations on the packets' type in AMSDU. Add an optional driver callback to determine if two skbs can be used in the same AMSDU or not. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 42f44c33a133..c42bfa1dcd2c 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -3261,6 +3261,9 @@ static bool ieee80211_amsdu_aggregate(struct ieee80211_sub_if_data *sdata,
if (max_frags && nfrags > max_frags)
goto out;
+ if (!drv_can_aggregate_in_amsdu(local, head, skb))
+ goto out;
+
if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
goto out;