|
@@ -5885,8 +5885,21 @@ static QDF_STATUS send_roam_scan_filter_cmd_tlv(wmi_unified_t wmi_handle,
|
|
|
wmi_roam_lca_disallow_config_tlv_param *blist_param;
|
|
|
|
|
|
len = sizeof(wmi_roam_filter_fixed_param);
|
|
|
+
|
|
|
+ len += WMI_TLV_HDR_SIZE;
|
|
|
+ if (roam_req->num_bssid_black_list)
|
|
|
+ len += roam_req->num_bssid_black_list * sizeof(wmi_mac_addr);
|
|
|
len += WMI_TLV_HDR_SIZE;
|
|
|
- len += roam_req->len;
|
|
|
+ if (roam_req->num_ssid_white_list)
|
|
|
+ len += roam_req->num_ssid_white_list * sizeof(wmi_ssid);
|
|
|
+ len += 2 * WMI_TLV_HDR_SIZE;
|
|
|
+ if (roam_req->num_bssid_preferred_list) {
|
|
|
+ len += roam_req->num_bssid_preferred_list * sizeof(wmi_mac_addr);
|
|
|
+ len += roam_req->num_bssid_preferred_list * sizeof(A_UINT32);
|
|
|
+ }
|
|
|
+ if (roam_req->lca_disallow_config_present)
|
|
|
+ len += WMI_TLV_HDR_SIZE +
|
|
|
+ sizeof(wmi_roam_lca_disallow_config_tlv_param);
|
|
|
|
|
|
buf = wmi_buf_alloc(wmi_handle, len);
|
|
|
if (!buf) {
|