From: Johannes Berg Date: Wed, 20 Mar 2024 07:14:00 +0000 (+0200) Subject: wifi: mac80211: clarify IEEE80211_STATUS_SUBDATA_MASK X-Git-Tag: v6.10-rc1~153^2~363^2~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=21e29016d5d25a2dcee2e30108f5f0d87bdb398d;p=thirdparty%2Flinux.git wifi: mac80211: clarify IEEE80211_STATUS_SUBDATA_MASK We have 13 bits for the status_data, so restricting type to 4 and subdata to 8 bits is confusing, even if we don't need more bits now. Change subdata mask to be 9 bits instead, just to make things match up. If we actually need more types or more subdata bits we can later also reshuffle the bits between these, but we should probably keep them at 13 bits together. Signed-off-by: Johannes Berg Reviewed-by: Ayala Beker Signed-off-by: Miri Korenblit Link: https://msgid.link/20240320091155.28ac7b665039.I1abbb13e90f016cab552492e05f5cb5b52de6463@changeid Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c index c3330aea4da3c..d7e8cf8e48b78 100644 --- a/net/mac80211/ht.c +++ b/net/mac80211/ht.c @@ -580,7 +580,7 @@ int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata, /* we'll do more on status of this frame */ info = IEEE80211_SKB_CB(skb); info->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS; - /* we have 12 bits, and need 6: link_id 4, smps 2 */ + /* we have 13 bits, and need 6: link_id 4, smps 2 */ info->status_data = IEEE80211_STATUS_TYPE_SMPS | u16_encode_bits(status_link_id << 2 | smps, IEEE80211_STATUS_SUBDATA_MASK); diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index c2212363dad3b..fe81ab6416207 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -90,7 +90,7 @@ enum ieee80211_status_data { IEEE80211_STATUS_TYPE_INVALID = 0, IEEE80211_STATUS_TYPE_SMPS = 1, IEEE80211_STATUS_TYPE_NEG_TTLM = 2, - IEEE80211_STATUS_SUBDATA_MASK = 0xff0, + IEEE80211_STATUS_SUBDATA_MASK = 0x1ff0, }; static inline bool