nl802154: add support for cca ed level info
[firefly-linux-kernel-4.4.55.git] / net / ieee802154 / nl802154.c
index 5c9d524ba02ceb829ff11763a794cd73d5bc03f2..a89d9d02412624f06233eb17abdec9cd28fc5911 100644 (file)
@@ -211,6 +211,7 @@ static const struct nla_policy nl802154_policy[NL802154_ATTR_MAX+1] = {
 
        [NL802154_ATTR_CCA_MODE] = { .type = NLA_U32, },
        [NL802154_ATTR_CCA_OPT] = { .type = NLA_U32, },
+       [NL802154_ATTR_CCA_ED_LEVEL] = { .type = NLA_S32, },
 
        [NL802154_ATTR_SUPPORTED_CHANNEL] = { .type = NLA_U32, },
 
@@ -421,6 +422,12 @@ static int nl802154_send_wpan_phy(struct cfg802154_registered_device *rdev,
                        goto nla_put_failure;
        }
 
+       if (rdev->wpan_phy.flags & WPAN_PHY_FLAG_CCA_ED_LEVEL) {
+               if (nla_put_s32(msg, NL802154_ATTR_CCA_ED_LEVEL,
+                               rdev->wpan_phy.cca_ed_level))
+                       goto nla_put_failure;
+       }
+
        if (nl802154_put_capabilities(msg, rdev))
                goto nla_put_failure;