* @non_trigger_based: use non trigger based ranging for the measurement
  *              If neither @trigger_based nor @non_trigger_based is set,
  *              EDCA based ranging will be used.
+ * @lmr_feedback: negotiate for I2R LMR feedback. Only valid if either
+ *     @trigger_based or @non_trigger_based is set.
  *
  * See also nl80211 for the respective attribute documentation.
  */
           request_lci:1,
           request_civicloc:1,
           trigger_based:1,
-          non_trigger_based:1;
+          non_trigger_based:1,
+          lmr_feedback:1;
        u8 num_bursts_exp;
        u8 burst_duration;
        u8 ftms_per_burst;
 
  *      if neither %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED nor
  *     %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set, EDCA based
  *     ranging will be used.
+ * @NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK: negotiate for LMR feedback. Only
+ *     valid if either %NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED or
+ *     %NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED is set.
  *
  * @NUM_NL80211_PMSR_FTM_REQ_ATTR: internal
  * @NL80211_PMSR_FTM_REQ_ATTR_MAX: highest attribute number
        NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC,
        NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED,
        NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED,
+       NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK,
 
        /* keep last */
        NUM_NL80211_PMSR_FTM_REQ_ATTR,
 
        [NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC] = { .type = NLA_FLAG },
        [NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED] = { .type = NLA_FLAG },
        [NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED] = { .type = NLA_FLAG },
+       [NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK] = { .type = NLA_FLAG },
 };
 
 static const struct nla_policy
 
 /* SPDX-License-Identifier: GPL-2.0 */
 /*
- * Copyright (C) 2018 - 2019 Intel Corporation
+ * Copyright (C) 2018 - 2021 Intel Corporation
  */
 #ifndef __PMSR_H
 #define __PMSR_H
                return -EINVAL;
        }
 
+       out->ftm.lmr_feedback =
+               !!tb[NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK];
+       if (!out->ftm.trigger_based && !out->ftm.non_trigger_based &&
+           out->ftm.lmr_feedback) {
+               NL_SET_ERR_MSG_ATTR(info->extack,
+                                   tb[NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK],
+                                   "FTM: LMR feedback set for EDCA based ranging");
+               return -EINVAL;
+       }
+
        return 0;
 }