From fa45431ec5e211e27b10f9b2eab93931d7ea617c Mon Sep 17 00:00:00 2001 From: chenguo Date: Tue, 6 Nov 2018 16:53:11 +0800 Subject: [PATCH] qcacld-3.0: Remove SME session creation in netdevice up operation Take VDEV manager SM into consideration, the SME session creation needs to be combined with VDEV start. So in the monitor mode, need to postpone SME session creation from net device up to the channel setting. This change will be applied no matter VDEV manager SM enable or not. CRs-Fixed: 2345543 Change-Id: I1b28abd6746ba851608464101a42ac14074e7c41 --- core/hdd/inc/wlan_hdd_cfg.h | 4 ++++ core/hdd/src/wlan_hdd_tx_rx.c | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 3f80007b72bb..dc243087a491 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -1056,7 +1056,11 @@ enum hdd_dot11_mode { #define CFG_CHANGE_CHANNEL_BANDWIDTH_NAME "gEnableChangeChannelBandWidth" #define CFG_CHANGE_CHANNEL_BANDWIDTH_MIN (0) #define CFG_CHANGE_CHANNEL_BANDWIDTH_MAX (1) +#ifdef FEATURE_MONITOR_MODE_SUPPORT +#define CFG_CHANGE_CHANNEL_BANDWIDTH_DEFAULT (1) +#else #define CFG_CHANGE_CHANNEL_BANDWIDTH_DEFAULT (0) +#endif /* * diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 044858d45e01..9029c666de19 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -2579,7 +2579,6 @@ void wlan_hdd_netif_queue_control(struct hdd_adapter *adapter, int hdd_set_mon_rx_cb(struct net_device *dev) { struct hdd_adapter *adapter = WLAN_HDD_GET_PRIV_PTR(dev); - struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter); int ret; QDF_STATUS qdf_status; struct ol_txrx_desc_type sta_desc = {0}; @@ -2604,13 +2603,6 @@ int hdd_set_mon_rx_cb(struct net_device *dev) goto exit; } - qdf_status = sme_create_mon_session(hdd_ctx->mac_handle, - adapter->mac_addr.bytes, - adapter->session_id); - if (QDF_STATUS_SUCCESS != qdf_status) { - hdd_err("sme_create_mon_session() failed to register. Status= %d [0x%08X]", - qdf_status, qdf_status); - } exit: ret = qdf_status_to_os_return(qdf_status); return ret;