|
@@ -3594,6 +3594,10 @@ enum ieee80211_reconfig_type {
|
|
* @del_nan_func: Remove a NAN function. The driver must call
|
|
* @del_nan_func: Remove a NAN function. The driver must call
|
|
* ieee80211_nan_func_terminated() with
|
|
* ieee80211_nan_func_terminated() with
|
|
* NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST reason code upon removal.
|
|
* NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST reason code upon removal.
|
|
|
|
+ * @can_aggregate_in_amsdu: Called in order to determine if HW supports
|
|
|
|
+ * aggregating two specific frames in the same A-MSDU. The relation
|
|
|
|
+ * between the skbs should be symmetric and transitive. Note that while
|
|
|
|
+ * skb is always a real frame, head may or may not be an A-MSDU.
|
|
*/
|
|
*/
|
|
struct ieee80211_ops {
|
|
struct ieee80211_ops {
|
|
void (*tx)(struct ieee80211_hw *hw,
|
|
void (*tx)(struct ieee80211_hw *hw,
|
|
@@ -3876,6 +3880,9 @@ struct ieee80211_ops {
|
|
void (*del_nan_func)(struct ieee80211_hw *hw,
|
|
void (*del_nan_func)(struct ieee80211_hw *hw,
|
|
struct ieee80211_vif *vif,
|
|
struct ieee80211_vif *vif,
|
|
u8 instance_id);
|
|
u8 instance_id);
|
|
|
|
+ bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *hw,
|
|
|
|
+ struct sk_buff *head,
|
|
|
|
+ struct sk_buff *skb);
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|