* @retry_long: retry count value
  * @retry_short: retry count value
  * @ampdu: Enable/Disable aggregation
+ * @rtscts: Enable/Disable RTS/CTS
  */
 struct cfg80211_tid_cfg {
        bool config_override;
        enum nl80211_tid_config noack;
        u8 retry_long, retry_short;
        enum nl80211_tid_config ampdu;
+       enum nl80211_tid_config rtscts;
 };
 
 /**
 
  * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable aggregation for the TIDs
  *     specified in %NL80211_TID_CONFIG_ATTR_TIDS. Its type is u8, using
  *     the values from &nl80211_tid_config.
+ * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs
+ *     specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using
+ *     the values from &nl80211_tid_config.
  */
 enum nl80211_tid_config_attr {
        __NL80211_TID_CONFIG_ATTR_INVALID,
        NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
        NL80211_TID_CONFIG_ATTR_RETRY_LONG,
        NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
+       NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
 
        /* keep last */
        __NL80211_TID_CONFIG_ATTR_AFTER_LAST,
 
        [NL80211_TID_CONFIG_ATTR_RETRY_LONG] = NLA_POLICY_MIN(NLA_U8, 1),
        [NL80211_TID_CONFIG_ATTR_AMPDU_CTRL] =
                        NLA_POLICY_MAX(NLA_U8, NL80211_TID_CONFIG_DISABLE),
+       [NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL] =
+                       NLA_POLICY_MAX(NLA_U8, NL80211_TID_CONFIG_DISABLE),
 };
 
 const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
                        nla_get_u8(attrs[NL80211_TID_CONFIG_ATTR_AMPDU_CTRL]);
        }
 
+       if (attrs[NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL]) {
+               tid_conf->mask |= BIT(NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL);
+               tid_conf->rtscts =
+                       nla_get_u8(attrs[NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL]);
+       }
+
        if (peer)
                mask = rdev->wiphy.tid_config_support.peer;
        else