|
@@ -6576,6 +6576,7 @@ wlan_hdd_cfg80211_set_ext_roam_params(struct wiphy *wiphy,
|
|
|
}
|
|
|
|
|
|
#define RATEMASK_PARAMS_TYPE_MAX 4
|
|
|
+#define RATEMASK_PARAMS_BITMAP_MAX 16
|
|
|
#define RATEMASK_PARAMS_MAX QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_MAX
|
|
|
const struct nla_policy wlan_hdd_set_ratemask_param_policy[
|
|
|
RATEMASK_PARAMS_MAX + 1] = {
|
|
@@ -6583,7 +6584,7 @@ const struct nla_policy wlan_hdd_set_ratemask_param_policy[
|
|
|
VENDOR_NLA_POLICY_NESTED(wlan_hdd_set_ratemask_param_policy),
|
|
|
[QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_TYPE] = {.type = NLA_U8},
|
|
|
[QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP] = {.type = NLA_BINARY,
|
|
|
- .len = 128},
|
|
|
+ .len = RATEMASK_PARAMS_BITMAP_MAX},
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -6605,7 +6606,7 @@ static int hdd_set_ratemask_params(struct hdd_context *hdd_ctx,
|
|
|
int ret, rem;
|
|
|
struct config_ratemask_params rate_params[RATEMASK_PARAMS_TYPE_MAX];
|
|
|
uint8_t ratemask_type, num_ratemask = 0, len;
|
|
|
- uint32_t bitmap[RATEMASK_PARAMS_TYPE_MAX] = {0};
|
|
|
+ uint32_t bitmap[RATEMASK_PARAMS_BITMAP_MAX / 4];
|
|
|
|
|
|
ret = wlan_cfg80211_nla_parse(tb,
|
|
|
RATEMASK_PARAMS_MAX,
|
|
@@ -6658,7 +6659,8 @@ static int hdd_set_ratemask_params(struct hdd_context *hdd_ctx,
|
|
|
}
|
|
|
|
|
|
len = nla_len(tb2[QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP]);
|
|
|
- nla_memcpy((void *)bitmap,
|
|
|
+ qdf_mem_zero(bitmap, sizeof(bitmap));
|
|
|
+ nla_memcpy(bitmap,
|
|
|
tb2[QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP],
|
|
|
len);
|
|
|
|