diff --git a/include/linux/ieee80211-he.h b/include/linux/ieee80211-he.h index a08c446fbb04..0c01d12598ff 100644 --- a/include/linux/ieee80211-he.h +++ b/include/linux/ieee80211-he.h @@ -44,19 +44,21 @@ enum ieee80211_twt_setup_cmd { TWT_SETUP_CMD_REJECT, }; -struct ieee80211_twt_params { - __le16 req_type; - __le64 twt; - u8 min_twt_dur; - __le16 mantissa; - u8 channel; -} __packed; - struct ieee80211_twt_setup { - u8 dialog_token; u8 element_id; u8 length; u8 control; + __le16 req_type; + /* + * followed by: + * - target wake time (twt) (__le16, optional) + * - TWT group assignment (3 or 9 bytes, optional) + * - min_twt_dur (u8) + * - mantissa (__le16) + * - channel (u8) + * - link ID bitmap (__le16, optional) + * - aligned link bitmap (__le16, optional) + */ u8 params[]; } __packed; diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index d40484451e9a..620f0b7eb647 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h @@ -1135,6 +1135,10 @@ struct ieee80211_mgmt { u8 no_fixed_fields[0]; u8 variable[]; } __packed s1g; + struct { + u8 dialog_token; + u8 variable[]; + } __packed twt_setup; struct { u8 dialog_token; u8 follow_up;