diff options
| author | nakul kachhwaha <nkachhwa@codeaurora.org> | 2018-01-11 11:24:17 +0530 |
|---|---|---|
| committer | nakul kachhwaha <nkachhwa@codeaurora.org> | 2018-03-01 14:08:08 +0530 |
| commit | 4b0730dfd26c14affe53eb9217d767d13c39df89 (patch) | |
| tree | 23a5bce113c3216a651ade2e710a4093bff03354 | |
| parent | f4c34d7d184f04965e5fa9a4417653dae186e8ce (diff) | |
qcacld-2.0: Fix monitor mode not showing in iwconfig and iw utility
iwconfig was showing interface type as managed in case of monitor mode
Added the support for NL80211_IFTYPE_MONITOR and IW_MODE_MONITOR in
the code
Change-Id: Ibde24dd3b826fc744d1ec82820fcb51952e1b6ef
CRs-Fixed: 2139968
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 4 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_wext.c | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 066046c4c891..117acb451402 100644 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -11892,6 +11892,8 @@ hdd_adapter_t *hdd_open_adapter(hdd_context_t *hdd_ctx, if (session_type == WLAN_HDD_P2P_CLIENT) adapter->wdev.iftype = NL80211_IFTYPE_P2P_CLIENT; + else if (VOS_MONITOR_MODE == vos_get_conparam()) + adapter->wdev.iftype = NL80211_IFTYPE_MONITOR; else adapter->wdev.iftype = NL80211_IFTYPE_STATION; @@ -16930,6 +16932,7 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc) rtnl_lock_enable); #ifdef WLAN_OPEN_P2P_INTERFACE + if(VOS_MONITOR_MODE != vos_get_conparam()){ /* Open P2P device interface */ if (pAdapter != NULL && !hdd_cfg_is_sub20_channel_width_enabled(pHddCtx)) { @@ -16966,6 +16969,7 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc) goto err_close_adapter; } } + } #endif /* WLAN_OPEN_P2P_INTERFACE */ /* Open 802.11p Interface */ diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c index bcc796739090..420504029711 100644 --- a/CORE/HDD/src/wlan_hdd_wext.c +++ b/CORE/HDD/src/wlan_hdd_wext.c @@ -2177,8 +2177,13 @@ __iw_get_mode(struct net_device *dev, struct iw_request_info *info, switch (pWextState->roamProfile.BSSType) { case eCSR_BSS_TYPE_INFRASTRUCTURE: - hddLog(LOG1, FL("returns IW_MODE_INFRA")); - wrqu->mode = IW_MODE_INFRA; + if(VOS_MONITOR_MODE == vos_get_conparam()){ + hddLog(LOG1, FL("returns IW_MODE_MONITOR")); + wrqu->mode = IW_MODE_MONITOR; + }else{ + hddLog(LOG1, FL("returns IW_MODE_INFRA")); + wrqu->mode = IW_MODE_INFRA; + } break; case eCSR_BSS_TYPE_IBSS: case eCSR_BSS_TYPE_START_IBSS: |
