|
@@ -484,353 +484,6 @@ error:
|
|
return status;
|
|
return status;
|
|
}
|
|
}
|
|
|
|
|
|
-#ifdef FEATURE_WLAN_LPHB
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_conf_hbenable() - enable command of LPHB configuration requests
|
|
|
|
- * @wma_handle: WMA handle
|
|
|
|
- * @lphb_conf_req: configuration info
|
|
|
|
- * @by_user: whether this call is from user or cached resent
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-static QDF_STATUS wma_lphb_conf_hbenable(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req,
|
|
|
|
- bool by_user)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
- int status = 0;
|
|
|
|
- tSirLPHBEnableStruct *ts_lphb_enable;
|
|
|
|
- wmi_hb_set_enable_cmd_fixed_param hb_enable_fp;
|
|
|
|
- int i;
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ts_lphb_enable = &(lphb_conf_req->params.lphbEnableReq);
|
|
|
|
- WMA_LOGI("%s: WMA --> WMI_HB_SET_ENABLE enable=%d, item=%d, session=%d",
|
|
|
|
- __func__,
|
|
|
|
- ts_lphb_enable->enable,
|
|
|
|
- ts_lphb_enable->item, ts_lphb_enable->session);
|
|
|
|
-
|
|
|
|
- if ((ts_lphb_enable->item != 1) && (ts_lphb_enable->item != 2)) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration wrong item %d",
|
|
|
|
- __func__, ts_lphb_enable->item);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /* fill in values */
|
|
|
|
- hb_enable_fp.vdev_id = ts_lphb_enable->session;
|
|
|
|
- hb_enable_fp.enable = ts_lphb_enable->enable;
|
|
|
|
- hb_enable_fp.item = ts_lphb_enable->item;
|
|
|
|
- hb_enable_fp.session = ts_lphb_enable->session;
|
|
|
|
-
|
|
|
|
- status = wmi_unified_lphb_config_hbenable_cmd(wma_handle->wmi_handle,
|
|
|
|
- &hb_enable_fp);
|
|
|
|
- if (status != EOK) {
|
|
|
|
- qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
- goto error;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (by_user) {
|
|
|
|
- /* target already configured, now cache command status */
|
|
|
|
- if (ts_lphb_enable->enable) {
|
|
|
|
- i = ts_lphb_enable->item - 1;
|
|
|
|
- wma_handle->wow.lphb_cache[i].cmd
|
|
|
|
- = LPHB_SET_EN_PARAMS_INDID;
|
|
|
|
- wma_handle->wow.lphb_cache[i].params.lphbEnableReq.
|
|
|
|
- enable = ts_lphb_enable->enable;
|
|
|
|
- wma_handle->wow.lphb_cache[i].params.lphbEnableReq.
|
|
|
|
- item = ts_lphb_enable->item;
|
|
|
|
- wma_handle->wow.lphb_cache[i].params.lphbEnableReq.
|
|
|
|
- session = ts_lphb_enable->session;
|
|
|
|
-
|
|
|
|
- WMA_LOGI("%s: cached LPHB status in WMA context for item %d",
|
|
|
|
- __func__, i);
|
|
|
|
- } else {
|
|
|
|
- qdf_mem_zero((void *)&wma_handle->wow.lphb_cache,
|
|
|
|
- sizeof(wma_handle->wow.lphb_cache));
|
|
|
|
- WMA_LOGI("%s: cleared all cached LPHB status in WMA context",
|
|
|
|
- __func__);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
|
-error:
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_conf_tcp_params() - set tcp params of LPHB configuration requests
|
|
|
|
- * @wma_handle: wma handle
|
|
|
|
- * @lphb_conf_req: lphb config request
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-static QDF_STATUS wma_lphb_conf_tcp_params(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
- int status = 0;
|
|
|
|
- tSirLPHBTcpParamStruct *ts_lphb_tcp_param;
|
|
|
|
- wmi_hb_set_tcp_params_cmd_fixed_param hb_tcp_params_fp = {0};
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ts_lphb_tcp_param = &(lphb_conf_req->params.lphbTcpParamReq);
|
|
|
|
- WMA_LOGI("%s: WMA --> WMI_HB_SET_TCP_PARAMS srv_ip=%08x, "
|
|
|
|
- "dev_ip=%08x, src_port=%d, dst_port=%d, timeout=%d, "
|
|
|
|
- "session=%d, gateway_mac="MAC_ADDRESS_STR", timePeriodSec=%d, "
|
|
|
|
- "tcpSn=%d", __func__, ts_lphb_tcp_param->srv_ip,
|
|
|
|
- ts_lphb_tcp_param->dev_ip, ts_lphb_tcp_param->src_port,
|
|
|
|
- ts_lphb_tcp_param->dst_port, ts_lphb_tcp_param->timeout,
|
|
|
|
- ts_lphb_tcp_param->session,
|
|
|
|
- MAC_ADDR_ARRAY(ts_lphb_tcp_param->gateway_mac.bytes),
|
|
|
|
- ts_lphb_tcp_param->timePeriodSec, ts_lphb_tcp_param->tcpSn);
|
|
|
|
-
|
|
|
|
- /* fill in values */
|
|
|
|
- hb_tcp_params_fp.vdev_id = ts_lphb_tcp_param->session;
|
|
|
|
- hb_tcp_params_fp.srv_ip = ts_lphb_tcp_param->srv_ip;
|
|
|
|
- hb_tcp_params_fp.dev_ip = ts_lphb_tcp_param->dev_ip;
|
|
|
|
- hb_tcp_params_fp.seq = ts_lphb_tcp_param->tcpSn;
|
|
|
|
- hb_tcp_params_fp.src_port = ts_lphb_tcp_param->src_port;
|
|
|
|
- hb_tcp_params_fp.dst_port = ts_lphb_tcp_param->dst_port;
|
|
|
|
- hb_tcp_params_fp.interval = ts_lphb_tcp_param->timePeriodSec;
|
|
|
|
- hb_tcp_params_fp.timeout = ts_lphb_tcp_param->timeout;
|
|
|
|
- hb_tcp_params_fp.session = ts_lphb_tcp_param->session;
|
|
|
|
- WMI_CHAR_ARRAY_TO_MAC_ADDR(ts_lphb_tcp_param->gateway_mac.bytes,
|
|
|
|
- &hb_tcp_params_fp.gateway_mac);
|
|
|
|
-
|
|
|
|
- status = wmi_unified_lphb_config_tcp_params_cmd(wma_handle->wmi_handle,
|
|
|
|
- &hb_tcp_params_fp);
|
|
|
|
- if (status != EOK) {
|
|
|
|
- qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
- goto error;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
|
-error:
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_conf_tcp_pkt_filter() - configure tcp packet filter command of LPHB
|
|
|
|
- * @wma_handle: wma handle
|
|
|
|
- * @lphb_conf_req: lphb config request
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-static QDF_STATUS wma_lphb_conf_tcp_pkt_filter(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
- int status = 0;
|
|
|
|
- tSirLPHBTcpFilterStruct *ts_lphb_tcp_filter;
|
|
|
|
- wmi_hb_set_tcp_pkt_filter_cmd_fixed_param hb_tcp_filter_fp = {0};
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ts_lphb_tcp_filter = &(lphb_conf_req->params.lphbTcpFilterReq);
|
|
|
|
- WMA_LOGI("%s: WMA --> WMI_HB_SET_TCP_PKT_FILTER length=%d, offset=%d, session=%d, "
|
|
|
|
- "filter=%2x:%2x:%2x:%2x:%2x:%2x ...", __func__,
|
|
|
|
- ts_lphb_tcp_filter->length, ts_lphb_tcp_filter->offset,
|
|
|
|
- ts_lphb_tcp_filter->session, ts_lphb_tcp_filter->filter[0],
|
|
|
|
- ts_lphb_tcp_filter->filter[1], ts_lphb_tcp_filter->filter[2],
|
|
|
|
- ts_lphb_tcp_filter->filter[3], ts_lphb_tcp_filter->filter[4],
|
|
|
|
- ts_lphb_tcp_filter->filter[5]);
|
|
|
|
-
|
|
|
|
- /* fill in values */
|
|
|
|
- hb_tcp_filter_fp.vdev_id = ts_lphb_tcp_filter->session;
|
|
|
|
- hb_tcp_filter_fp.length = ts_lphb_tcp_filter->length;
|
|
|
|
- hb_tcp_filter_fp.offset = ts_lphb_tcp_filter->offset;
|
|
|
|
- hb_tcp_filter_fp.session = ts_lphb_tcp_filter->session;
|
|
|
|
- memcpy((void *)&hb_tcp_filter_fp.filter,
|
|
|
|
- (void *)&ts_lphb_tcp_filter->filter,
|
|
|
|
- WMI_WLAN_HB_MAX_FILTER_SIZE);
|
|
|
|
-
|
|
|
|
- status = wmi_unified_lphb_config_tcp_pkt_filter_cmd(wma_handle->wmi_handle,
|
|
|
|
- &hb_tcp_filter_fp);
|
|
|
|
- if (status != EOK) {
|
|
|
|
- qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
- goto error;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
|
-error:
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_conf_udp_params() - configure udp param command of LPHB
|
|
|
|
- * @wma_handle: wma handle
|
|
|
|
- * @lphb_conf_req: lphb config request
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-static QDF_STATUS wma_lphb_conf_udp_params(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
- int status = 0;
|
|
|
|
- tSirLPHBUdpParamStruct *ts_lphb_udp_param;
|
|
|
|
- wmi_hb_set_udp_params_cmd_fixed_param hb_udp_params_fp = {0};
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ts_lphb_udp_param = &(lphb_conf_req->params.lphbUdpParamReq);
|
|
|
|
- WMA_LOGI("%s: WMA --> WMI_HB_SET_UDP_PARAMS srv_ip=%d, dev_ip=%d, src_port=%d, "
|
|
|
|
- "dst_port=%d, interval=%d, timeout=%d, session=%d, "
|
|
|
|
- "gateway_mac="MAC_ADDRESS_STR, __func__,
|
|
|
|
- ts_lphb_udp_param->srv_ip, ts_lphb_udp_param->dev_ip,
|
|
|
|
- ts_lphb_udp_param->src_port, ts_lphb_udp_param->dst_port,
|
|
|
|
- ts_lphb_udp_param->interval, ts_lphb_udp_param->timeout,
|
|
|
|
- ts_lphb_udp_param->session,
|
|
|
|
- MAC_ADDR_ARRAY(ts_lphb_udp_param->gateway_mac.bytes));
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /* fill in values */
|
|
|
|
- hb_udp_params_fp.vdev_id = ts_lphb_udp_param->session;
|
|
|
|
- hb_udp_params_fp.srv_ip = ts_lphb_udp_param->srv_ip;
|
|
|
|
- hb_udp_params_fp.dev_ip = ts_lphb_udp_param->dev_ip;
|
|
|
|
- hb_udp_params_fp.src_port = ts_lphb_udp_param->src_port;
|
|
|
|
- hb_udp_params_fp.dst_port = ts_lphb_udp_param->dst_port;
|
|
|
|
- hb_udp_params_fp.interval = ts_lphb_udp_param->interval;
|
|
|
|
- hb_udp_params_fp.timeout = ts_lphb_udp_param->timeout;
|
|
|
|
- hb_udp_params_fp.session = ts_lphb_udp_param->session;
|
|
|
|
- WMI_CHAR_ARRAY_TO_MAC_ADDR(ts_lphb_udp_param->gateway_mac.bytes,
|
|
|
|
- &hb_udp_params_fp.gateway_mac);
|
|
|
|
-
|
|
|
|
- status = wmi_unified_lphb_config_udp_params_cmd(wma_handle->wmi_handle,
|
|
|
|
- &hb_udp_params_fp);
|
|
|
|
- if (status != EOK) {
|
|
|
|
- qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
- goto error;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
|
-error:
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_conf_udp_pkt_filter() - configure udp pkt filter command of LPHB
|
|
|
|
- * @wma_handle: wma handle
|
|
|
|
- * @lphb_conf_req: lphb config request
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-static QDF_STATUS wma_lphb_conf_udp_pkt_filter(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
- int status = 0;
|
|
|
|
- tSirLPHBUdpFilterStruct *ts_lphb_udp_filter;
|
|
|
|
- wmi_hb_set_udp_pkt_filter_cmd_fixed_param hb_udp_filter_fp = {0};
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ts_lphb_udp_filter = &(lphb_conf_req->params.lphbUdpFilterReq);
|
|
|
|
- WMA_LOGI("%s: WMA --> WMI_HB_SET_UDP_PKT_FILTER length=%d, offset=%d, session=%d, "
|
|
|
|
- "filter=%2x:%2x:%2x:%2x:%2x:%2x ...", __func__,
|
|
|
|
- ts_lphb_udp_filter->length, ts_lphb_udp_filter->offset,
|
|
|
|
- ts_lphb_udp_filter->session, ts_lphb_udp_filter->filter[0],
|
|
|
|
- ts_lphb_udp_filter->filter[1], ts_lphb_udp_filter->filter[2],
|
|
|
|
- ts_lphb_udp_filter->filter[3], ts_lphb_udp_filter->filter[4],
|
|
|
|
- ts_lphb_udp_filter->filter[5]);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /* fill in values */
|
|
|
|
- hb_udp_filter_fp.vdev_id = ts_lphb_udp_filter->session;
|
|
|
|
- hb_udp_filter_fp.length = ts_lphb_udp_filter->length;
|
|
|
|
- hb_udp_filter_fp.offset = ts_lphb_udp_filter->offset;
|
|
|
|
- hb_udp_filter_fp.session = ts_lphb_udp_filter->session;
|
|
|
|
- memcpy((void *)&hb_udp_filter_fp.filter,
|
|
|
|
- (void *)&ts_lphb_udp_filter->filter,
|
|
|
|
- WMI_WLAN_HB_MAX_FILTER_SIZE);
|
|
|
|
-
|
|
|
|
- status = wmi_unified_lphb_config_udp_pkt_filter_cmd(wma_handle->wmi_handle,
|
|
|
|
- &hb_udp_filter_fp);
|
|
|
|
- if (status != EOK) {
|
|
|
|
- qdf_status = QDF_STATUS_E_FAILURE;
|
|
|
|
- goto error;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
|
-error:
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/**
|
|
|
|
- * wma_process_lphb_conf_req() - handle LPHB configuration requests
|
|
|
|
- * @wma_handle: wma handle
|
|
|
|
- * @lphb_conf_req: lphb config request
|
|
|
|
- *
|
|
|
|
- * Return: QDF status
|
|
|
|
- */
|
|
|
|
-QDF_STATUS wma_process_lphb_conf_req(tp_wma_handle wma_handle,
|
|
|
|
- tSirLPHBReq *lphb_conf_req)
|
|
|
|
-{
|
|
|
|
- QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
|
|
|
|
-
|
|
|
|
- if (lphb_conf_req == NULL) {
|
|
|
|
- WMA_LOGE("%s : LPHB configuration is NULL", __func__);
|
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- WMA_LOGI("%s : LPHB configuration cmd id is %d", __func__,
|
|
|
|
- lphb_conf_req->cmd);
|
|
|
|
- switch (lphb_conf_req->cmd) {
|
|
|
|
- case LPHB_SET_EN_PARAMS_INDID:
|
|
|
|
- qdf_status = wma_lphb_conf_hbenable(wma_handle,
|
|
|
|
- lphb_conf_req, true);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case LPHB_SET_TCP_PARAMS_INDID:
|
|
|
|
- qdf_status = wma_lphb_conf_tcp_params(wma_handle,
|
|
|
|
- lphb_conf_req);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case LPHB_SET_TCP_PKT_FILTER_INDID:
|
|
|
|
- qdf_status = wma_lphb_conf_tcp_pkt_filter(wma_handle,
|
|
|
|
- lphb_conf_req);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case LPHB_SET_UDP_PARAMS_INDID:
|
|
|
|
- qdf_status = wma_lphb_conf_udp_params(wma_handle,
|
|
|
|
- lphb_conf_req);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case LPHB_SET_UDP_PKT_FILTER_INDID:
|
|
|
|
- qdf_status = wma_lphb_conf_udp_pkt_filter(wma_handle,
|
|
|
|
- lphb_conf_req);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- case LPHB_SET_NETWORK_INFO_INDID:
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- qdf_mem_free(lphb_conf_req);
|
|
|
|
- return qdf_status;
|
|
|
|
-}
|
|
|
|
-#endif /* FEATURE_WLAN_LPHB */
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* wma_process_dhcp_ind() - process dhcp indication from SME
|
|
* wma_process_dhcp_ind() - process dhcp indication from SME
|
|
* @wma_handle: wma handle
|
|
* @wma_handle: wma handle
|
|
@@ -1337,56 +990,6 @@ QDF_STATUS wma_unified_fw_profiling_cmd(wmi_unified_t wmi_handle,
|
|
return QDF_STATUS_SUCCESS;
|
|
return QDF_STATUS_SUCCESS;
|
|
}
|
|
}
|
|
|
|
|
|
-#ifdef FEATURE_WLAN_LPHB
|
|
|
|
-/**
|
|
|
|
- * wma_lphb_handler() - send LPHB indication to SME
|
|
|
|
- * @wma: wma handle
|
|
|
|
- * @event: event handler
|
|
|
|
- *
|
|
|
|
- * Return: 0 for success or error code
|
|
|
|
- */
|
|
|
|
-static int wma_lphb_handler(tp_wma_handle wma, uint8_t *event)
|
|
|
|
-{
|
|
|
|
- wmi_hb_ind_event_fixed_param *hb_fp;
|
|
|
|
- tSirLPHBInd *slphb_indication;
|
|
|
|
- QDF_STATUS qdf_status;
|
|
|
|
- struct scheduler_msg sme_msg = { 0 };
|
|
|
|
-
|
|
|
|
- hb_fp = (wmi_hb_ind_event_fixed_param *) event;
|
|
|
|
- if (!hb_fp) {
|
|
|
|
- WMA_LOGE("Invalid wmi_hb_ind_event_fixed_param buffer");
|
|
|
|
- return -EINVAL;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- WMA_LOGD("lphb indication received with vdev_id=%d, session=%d, reason=%d",
|
|
|
|
- hb_fp->vdev_id, hb_fp->session, hb_fp->reason);
|
|
|
|
-
|
|
|
|
- slphb_indication = (tSirLPHBInd *) qdf_mem_malloc(sizeof(tSirLPHBInd));
|
|
|
|
-
|
|
|
|
- if (!slphb_indication) {
|
|
|
|
- WMA_LOGE("Invalid LPHB indication buffer");
|
|
|
|
- return -ENOMEM;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- slphb_indication->sessionIdx = hb_fp->session;
|
|
|
|
- slphb_indication->protocolType = hb_fp->reason;
|
|
|
|
- slphb_indication->eventReason = hb_fp->reason;
|
|
|
|
-
|
|
|
|
- sme_msg.type = eWNI_SME_LPHB_IND;
|
|
|
|
- sme_msg.bodyptr = slphb_indication;
|
|
|
|
- sme_msg.bodyval = 0;
|
|
|
|
-
|
|
|
|
- qdf_status = scheduler_post_msg(QDF_MODULE_ID_SME, &sme_msg);
|
|
|
|
- if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
|
|
|
|
- WMA_LOGE("Fail to post eWNI_SME_LPHB_IND msg to SME");
|
|
|
|
- qdf_mem_free(slphb_indication);
|
|
|
|
- return -EINVAL;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-#endif /* FEATURE_WLAN_LPHB */
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* wmi_unified_nat_keepalive_enable() - enable NAT keepalive filter
|
|
* wmi_unified_nat_keepalive_enable() - enable NAT keepalive filter
|
|
* @wma: wma handle
|
|
* @wma: wma handle
|
|
@@ -3253,12 +2856,6 @@ int wma_wow_wakeup_host_event(void *handle, uint8_t *event,
|
|
wow_buf_pkt_len);
|
|
wow_buf_pkt_len);
|
|
break;
|
|
break;
|
|
|
|
|
|
-#ifdef FEATURE_WLAN_LPHB
|
|
|
|
- case WOW_REASON_WLAN_HB:
|
|
|
|
- wma_lphb_handler(wma, (uint8_t *) param_buf->hb_indevt);
|
|
|
|
- break;
|
|
|
|
-#endif /* FEATURE_WLAN_LPHB */
|
|
|
|
-
|
|
|
|
case WOW_REASON_HTT_EVENT:
|
|
case WOW_REASON_HTT_EVENT:
|
|
break;
|
|
break;
|
|
|
|
|