qcacmn: Fix number of buffers in ROAM_INVOKE command

Fix the number of buffers being passed in ROAM_INVOKE command
to the firmware. Fill it only if there is a valid beacon or
probe response being sent to the firmware

Change-Id: I0f569b847091bb9eb92a92de949c90ace0ab51fe
CRs-Fixed: 2077075
Šī revīzija ir iekļauta:
Varun Reddy Yeturu
2017-07-14 16:47:48 -07:00
revīziju iesūtīja Gerrit - the friendly Code Review server
vecāks e3d7601214
revīzija 2892dce15c

Parādīt failu

@@ -14250,17 +14250,19 @@ static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle,
cmd->vdev_id = roaminvoke->vdev_id;
cmd->flags |= (1 << WMI_ROAM_INVOKE_FLAG_REPORT_FAILURE);
if (roaminvoke->frame_len)
if (roaminvoke->frame_len) {
cmd->roam_scan_mode = WMI_ROAM_INVOKE_SCAN_MODE_SKIP;
else
/* packing 1 beacon/probe_rsp frame with WMI cmd */
cmd->num_buf = 1;
} else {
cmd->roam_scan_mode = WMI_ROAM_INVOKE_SCAN_MODE_FIXED_CH;
cmd->num_buf = 0;
}
cmd->roam_ap_sel_mode = 0;
cmd->roam_delay = 0;
cmd->num_chan = 1;
cmd->num_bssid = 1;
/* packing 1 beacon/probe_rsp frame with WMI cmd */
cmd->num_buf = 1;
buf_ptr += sizeof(wmi_roam_invoke_cmd_fixed_param);
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_UINT32,
@@ -14296,7 +14298,11 @@ static QDF_STATUS send_roam_invoke_cmd_tlv(wmi_unified_t wmi_handle,
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_DEBUG,
buf_ptr + WMI_TLV_HDR_SIZE,
roaminvoke->frame_len);
WMI_LOGD(FL("flags:%d, scan_mode:%d"), cmd->flags, cmd->roam_scan_mode);
WMI_LOGD(FL("flag:%d, MODE scn:%d, ap:%d, dly:%d, n_ch:%d, n_bssid:%d"),
cmd->flags, cmd->roam_scan_mode,
cmd->roam_ap_sel_mode, cmd->roam_delay,
cmd->num_chan, cmd->num_bssid);
WMI_LOGD(FL("BSSID: %pM, channel: %d"), roaminvoke->bssid, ch_hz);
if (wmi_unified_cmd_send(wmi_handle, wmi_buf, len,
WMI_ROAM_INVOKE_CMDID)) {