diff options
| -rw-r--r-- | core/hdd/src/wlan_hdd_nan_datapath.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/core/hdd/src/wlan_hdd_nan_datapath.c b/core/hdd/src/wlan_hdd_nan_datapath.c index 6c7bfdafbcaf..1cb15c46726a 100644 --- a/core/hdd/src/wlan_hdd_nan_datapath.c +++ b/core/hdd/src/wlan_hdd_nan_datapath.c @@ -320,13 +320,6 @@ static int hdd_ndi_create_req_handler(hdd_context_t *hdd_ctx, transaction_id = nla_get_u16(tb[QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID]); - /* Check for an existing interface of NDI type */ - adapter = hdd_get_adapter(hdd_ctx, QDF_NDI_MODE); - if (adapter) { - hdd_err("Cannot support more than one NDI"); - return -EEXIST; - } - adapter = hdd_open_adapter(hdd_ctx, QDF_NDI_MODE, iface_name, wlan_hdd_get_intf_addr(hdd_ctx), NET_NAME_UNKNOWN, true); @@ -402,14 +395,14 @@ static int hdd_ndi_delete_req_handler(hdd_context_t *hdd_ctx, nla_get_u16(tb[QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID]); /* Check if there is already an existing inteface with the same name */ - adapter = hdd_get_adapter(hdd_ctx, QDF_NDI_MODE); + adapter = hdd_get_adapter_by_iface_name(hdd_ctx, iface_name); if (!adapter) { hdd_err("NAN data interface %s is not available", iface_name); return -EINVAL; } /* check if adapter is in NDI mode */ - if (QDF_NDI_MODE != adapter->device_mode) { + if (!WLAN_HDD_IS_NDI(adapter)) { hdd_err("Interface %s is not in NDI mode", iface_name); return -EINVAL; } @@ -553,12 +546,17 @@ static int hdd_ndp_initiator_req_handler(hdd_context_t *hdd_ctx, iface_name = nla_data(tb[QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR]); /* Check for interface in NDI mode */ - adapter = hdd_get_adapter(hdd_ctx, QDF_NDI_MODE); + adapter = hdd_get_adapter_by_iface_name(hdd_ctx, iface_name); if (!adapter) { hdd_err("NAN data interface %s not available", iface_name); return -EINVAL; } + if (!WLAN_HDD_IS_NDI(adapter)) { + hdd_err("Interface %s is not in NDI mode", iface_name); + return -EINVAL; + } + /* NAN data path coexists only with STA interface */ if (false == hdd_is_ndp_allowed(hdd_ctx)) { hdd_err("Unsupported concurrency for NAN datapath"); @@ -686,14 +684,14 @@ static int hdd_ndp_responder_req_handler(hdd_context_t *hdd_ctx, iface_name = nla_data(tb[QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR]); /* Check if there is already an existing NAN interface */ - adapter = hdd_get_adapter(hdd_ctx, QDF_NDI_MODE); + adapter = hdd_get_adapter_by_iface_name(hdd_ctx, iface_name); if (!adapter) { hdd_err("NAN data interface %s not available", iface_name); return -EINVAL; } - if (QDF_NDI_MODE != adapter->device_mode) { - hdd_err("Interface %s not in NDI mode", iface_name); + if (!WLAN_HDD_IS_NDI(adapter)) { + hdd_err("Interface %s is not in NDI mode", iface_name); return -EINVAL; } |
