diff options
| -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: |
