diff options
| author | Naveen Rawat <nrawat@qca.qualcomm.com> | 2016-04-14 16:21:41 -0700 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-04-29 15:12:00 +0530 |
| commit | e1ff8880169cb5e428634f29500b76a37581aed0 (patch) | |
| tree | 936d5158d4f925e2ec8d4ff8f9d14827b2984868 | |
| parent | 0915b202268c73bb524077d0b180dbb73eb7ed10 (diff) | |
qcacld-2.0: Update NAN HDD APIs as per vendor definitions changes
Remove usage of following attributes from NAN HDD APIs:
1) QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN
2) QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID
3) QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_STATUS_CODE
4) ndp_cfg from NDP_CONFRIM
5) Remove mandatory check for ndp_app_info in data initiator
Change-Id: I17fe580661f836d45a518a330a63d2c6de8bcf28
CRs-Fixed: CRs-Fixed: 962367
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_nan_datapath.c | 44 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_nan_datapath.h | 6 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma_nan_datapath.c | 20 |
4 files changed, 8 insertions, 64 deletions
diff --git a/CORE/HDD/src/wlan_hdd_nan_datapath.c b/CORE/HDD/src/wlan_hdd_nan_datapath.c index 68374125de09..8635bfbd65cb 100644 --- a/CORE/HDD/src/wlan_hdd_nan_datapath.c +++ b/CORE/HDD/src/wlan_hdd_nan_datapath.c @@ -50,12 +50,10 @@ qca_wlan_vendor_ndp_policy[QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_MAX + 1] = { [QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY] = { .type = NLA_U16 }, [QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS] = { .type = NLA_BINARY, .len = NDP_QOS_INFO_LEN }, - [QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN] = { .type = NLA_U16 }, [QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO] = { .type = NLA_BINARY, .len = NDP_APP_INFO_LEN }, [QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID] = { .type = NLA_U32 }, [QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE] = { .type = NLA_U16 }, - [QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_STATUS_CODE] = { .type = NLA_U16 }, [QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR] = { .type = NLA_BINARY, .len = VOS_MAC_ADDR_SIZE }, [QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY] = { .type = NLA_BINARY, @@ -531,19 +529,12 @@ static int hdd_ndp_initiator_req_handler(hdd_context_t *hdd_ctx, nla_data(tb[QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR]), VOS_MAC_ADDR_SIZE); - if (!tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN]) { - hddLog(LOGE, FL("NDP app info len is unavailable")); - return -EINVAL; - } - req.ndp_info.ndp_app_info_len = - nla_get_u16(tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN]); - - if (!tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO]) { - hddLog(LOGE, FL("NDP app info is unavailable")); - return -EINVAL; + if (tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO]) { + req.ndp_info.ndp_app_info_len = + nla_len(tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO]); + req.ndp_info.ndp_app_info = + nla_data(tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO]); } - req.ndp_info.ndp_app_info = - nla_data(tb[QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO]); if (tb[QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS]) { /* at present ndp config stores 4 bytes QOS info only */ @@ -1210,8 +1201,8 @@ static void hdd_ndp_confirm_ind_handler(hdd_adapter_t *adapter, else ndp_ctx->active_ndp_sessions[idx]++; - data_len = (4 * sizeof(uint32_t)) + VOS_MAC_ADDR_SIZE + IFNAMSIZ + - sizeof(uint16_t) + NLMSG_HDRLEN + (8 * NLA_HDRLEN) + + data_len = (3 * sizeof(uint32_t)) + VOS_MAC_ADDR_SIZE + IFNAMSIZ + + sizeof(uint16_t) + NLMSG_HDRLEN + (7 * NLA_HDRLEN) + ndp_confirm->ndp_info.ndp_app_info_len; vendor_event = cfg80211_vendor_event_alloc(hdd_ctx->wiphy, NULL, @@ -1238,25 +1229,12 @@ static void hdd_ndp_confirm_ind_handler(hdd_adapter_t *adapter, IFNAMSIZ, adapter->dev->name)) goto ndp_confirm_nla_failed; - if (nla_put_u16(vendor_event, QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN, - ndp_confirm->ndp_info.ndp_app_info_len)) - goto ndp_confirm_nla_failed; - if (ndp_confirm->ndp_info.ndp_app_info_len && nla_put(vendor_event, QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO, ndp_confirm->ndp_info.ndp_app_info_len, ndp_confirm->ndp_info.ndp_app_info)) goto ndp_confirm_nla_failed; - if (ndp_confirm->ndp_config.ndp_cfg_len) { - ndp_qos_config = *((uint32_t *)ndp_confirm->ndp_config.ndp_cfg); - /* at present ndp config stores 4 bytes QOS info only */ - if (nla_put_u32(vendor_event, - QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS, - ndp_qos_config)) - goto ndp_confirm_nla_failed; - } - if (nla_put_u32(vendor_event, QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE, ndp_confirm->rsp_code)) @@ -1595,7 +1573,6 @@ ndp_end_rsp_nla_failed: * * Following vendor event is sent to cfg80211: * QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD = QCA_WLAN_VENDOR_ATTR_NDP_END_IND (4 bytes) - * QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID (1 byte) * QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY (4 * NUM_INSTANCE_ID bytes) * * Return: none @@ -1647,8 +1624,7 @@ static void hdd_ndp_end_ind_handler(hdd_adapter_t *adapter, end_ind->ndp_map[i].num_active_ndp_sessions; } - data_len = (sizeof(uint32_t)) + - sizeof(uint8_t) + NLMSG_HDRLEN + (2 * NLA_HDRLEN) + + data_len = (sizeof(uint32_t)) + NLMSG_HDRLEN + (2 * NLA_HDRLEN) + end_ind->num_ndp_ids * sizeof(*ndp_instance_array); vendor_event = cfg80211_vendor_event_alloc(hdd_ctx->wiphy, NULL, @@ -1663,10 +1639,6 @@ static void hdd_ndp_end_ind_handler(hdd_adapter_t *adapter, QCA_WLAN_VENDOR_ATTR_NDP_END_IND)) goto ndp_end_ind_nla_failed; - if (nla_put_u8(vendor_event, QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID, - end_ind->num_ndp_ids)) - goto ndp_end_ind_nla_failed; - if (nla_put(vendor_event, QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY, end_ind->num_ndp_ids * sizeof(*ndp_instance_array), ndp_instance_array)) diff --git a/CORE/HDD/src/wlan_hdd_nan_datapath.h b/CORE/HDD/src/wlan_hdd_nan_datapath.h index 2170d1222af8..cf72826f0599 100644 --- a/CORE/HDD/src/wlan_hdd_nan_datapath.h +++ b/CORE/HDD/src/wlan_hdd_nan_datapath.h @@ -67,13 +67,10 @@ struct wireless_dev; * @QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR: Iface name * @QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY: Security configuration * @QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS: Qos configuration - * @QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN: Application info length * @QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO: Application info * @QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID: NDP instance id - * @QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID: Number of NDP instance ids * @QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY: NDP instance id array * @QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE: Schedule response - * @QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_STATUS_CODE: schedule status * @QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR: NDI mac address * @QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_TYPE: Driver return status * @QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE: Driver return value @@ -88,13 +85,10 @@ enum qca_wlan_vendor_attr_ndp_params { QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR, QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_SECURITY, QCA_WLAN_VENDOR_ATTR_NDP_CONFIG_QOS, - QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO_LEN, QCA_WLAN_VENDOR_ATTR_NDP_APP_INFO, QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID, - QCA_WLAN_VENDOR_ATTR_NDP_NUM_INSTANCE_ID, QCA_WLAN_VENDOR_ATTR_NDP_INSTANCE_ID_ARRAY, QCA_WLAN_VENDOR_ATTR_NDP_RESPONSE_CODE, - QCA_WLAN_VENDOR_ATTR_NDP_SCHEDULE_STATUS_CODE, QCA_WLAN_VENDOR_ATTR_NDP_NDI_MAC_ADDR, QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_TYPE, QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE, diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index acf99ee728d8..be2d1fbf71f4 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -7218,7 +7218,6 @@ struct ndp_responder_rsp_event { * @ndp_instance_id: ndp instance id for which confirm is being generated * @peer_ndi_mac_addr: peer NDI mac address * @rsp_code: ndp response code - * @ndp_config: ndp configuration * @ndp_info: ndp application info * */ @@ -7227,7 +7226,6 @@ struct ndp_confirm_event { uint32_t ndp_instance_id; v_MACADDR_t peer_ndi_mac_addr; enum ndp_response_code rsp_code; - struct ndp_cfg ndp_config; struct ndp_app_info ndp_info; }; diff --git a/CORE/SERVICES/WMA/wma_nan_datapath.c b/CORE/SERVICES/WMA/wma_nan_datapath.c index abbfdf054e7d..a9d32137d2ca 100644 --- a/CORE/SERVICES/WMA/wma_nan_datapath.c +++ b/CORE/SERVICES/WMA/wma_nan_datapath.c @@ -602,31 +602,12 @@ static int wma_ndp_confirm_event_handler(void *handle, uint8_t *event_info, WMI_MAC_ADDR_TO_CHAR_ARRAY(&fixed_params->peer_ndi_mac_addr, ndp_confirm->peer_ndi_mac_addr.bytes); - vos_mem_copy(&ndp_confirm->ndp_config, event->ndp_cfg, - fixed_params->ndp_cfg_len); - - ndp_confirm->ndp_config.ndp_cfg_len = fixed_params->ndp_cfg_len; ndp_confirm->ndp_info.ndp_app_info_len = fixed_params->ndp_app_info_len; - - if (ndp_confirm->ndp_config.ndp_cfg_len) { - ndp_confirm->ndp_config.ndp_cfg = - vos_mem_malloc(ndp_confirm->ndp_config.ndp_cfg_len); - if (NULL == ndp_confirm->ndp_config.ndp_cfg) { - WMA_LOGE(FL("malloc failed")); - vos_mem_free(ndp_confirm); - return VOS_STATUS_E_NOMEM; - } - vos_mem_copy(ndp_confirm->ndp_config.ndp_cfg, - event->ndp_cfg, - ndp_confirm->ndp_config.ndp_cfg_len); - } - if (ndp_confirm->ndp_info.ndp_app_info_len) { ndp_confirm->ndp_info.ndp_app_info = vos_mem_malloc(fixed_params->ndp_app_info_len); if (NULL == ndp_confirm->ndp_info.ndp_app_info) { WMA_LOGE(FL("malloc failed")); - vos_mem_free(ndp_confirm->ndp_config.ndp_cfg); vos_mem_free(ndp_confirm); return VOS_STATUS_E_NOMEM; } @@ -641,7 +622,6 @@ static int wma_ndp_confirm_event_handler(void *handle, uint8_t *event_info, status = vos_mq_post_message(VOS_MODULE_ID_PE, &msg); if (!VOS_IS_STATUS_SUCCESS(status)) { WMA_LOGE(FL("fail to post SIR_HAL_NDP_CONFIRM msg to PE")); - vos_mem_free(ndp_confirm->ndp_config.ndp_cfg); vos_mem_free(ndp_confirm->ndp_info.ndp_app_info); vos_mem_free(ndp_confirm); } |
