diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 56c1c99fcc22..afef74812c52 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1232,6 +1232,8 @@ struct ap_ps_params { #define WMI_HOST_SCAN_CHAN_MODE_SHIFT 16 #define WMI_HOST_SCAN_CHAN_MODE_MASK 0xff +#define WMI_HOST_MAX_CHANS_PER_WMI_CMD 58 + /** * struct scan_chan_list_params - scan channel list cmd parameter * @num_scan_chans: no of scan channels @@ -1267,11 +1269,13 @@ struct scan_chan_list_params { * @pdev_id: pdev_id * @num_chan: no of scan channels * @nallchans: nall chans + * @append: append to existing chan list * @ch_param: pointer to channel_paramw */ struct scan_chan_list_params { uint32_t pdev_id; uint16_t nallchans; + bool append; struct channel_param ch_param[1]; }; #endif diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 74dea8b22efe..12d042001704 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -2701,6 +2701,9 @@ static QDF_STATUS send_scan_chan_list_cmd_tlv(wmi_unified_t wmi_handle, WMI_LOGD("no of channels = %d, len = %d", chan_list->nallchans, len); + if (chan_list->append) + cmd->flags |= APPEND_TO_EXISTING_CHAN_LIST; + cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target( chan_list->pdev_id); cmd->num_scan_chans = chan_list->nallchans;