diff options
| author | Hanumanth Reddy Pothula <c_hpothu@codeaurora.org> | 2016-12-20 23:35:46 +0530 |
|---|---|---|
| committer | Ashish kumar goswami <agoswa@codeaurora.org> | 2016-12-21 19:26:33 +0530 |
| commit | 3540b7b77baf62ea17b9f016d0af7dd8997af2ed (patch) | |
| tree | 8f20d34c5f4b6e720ce2e26cabdb9b13b84a76c2 | |
| parent | f680b1345146d26bb9a84d9c335b6cb87a7d4351 (diff) | |
qcacld-2.0: Don't do carrier off on channel avoid indication
Presently, driver is doing carrier off while it is performing
SAP restart, this may lead to framework to reload driver,
which is not intended.
Don't do carrier off in case driver is performing SAP restart,
so that framework won't do SAP reload.
Change-Id: If1aa6267455b389b3662c049b733430b9e1b716c
CRs-Fixed: 1103575
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_hostapd.c | 14 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 12 |
2 files changed, 22 insertions, 4 deletions
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c index 24f3c22f5644..795273400571 100644 --- a/CORE/HDD/src/wlan_hdd_hostapd.c +++ b/CORE/HDD/src/wlan_hdd_hostapd.c @@ -2455,7 +2455,19 @@ stopbss : /* Stop the pkts from n/w stack as we are going to free all of * the TX WMM queues for all STAID's */ - hdd_hostapd_stop(dev); + + /* + * If channel avoidance is in progress means driver is performing SAP + * restart. So don't do carrier off, which may lead framework to do + * driver reload. + */ + hddLog(LOG1, FL("ch avoid in progress: %d"), + pHddCtx->is_ch_avoid_in_progress); + if (pHddCtx->is_ch_avoid_in_progress) + wlan_hdd_netif_queue_control(pHostapdAdapter, WLAN_NETIF_TX_DISABLE, + WLAN_CONTROL_PATH); + else + hdd_hostapd_stop(dev); /* reclaim all resources allocated to the BSS */ vos_status = hdd_softap_stop_bss(pHostapdAdapter); diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 14d4c6a51134..4ad7bbd7e3b8 100644 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -17150,11 +17150,17 @@ void hdd_unsafe_channel_restart_sap(hdd_context_t *hdd_ctx) NULL, 0); - hdd_hostapd_stop(adapter->dev); - - if (hdd_ctx->cfg_ini->sap_restrt_ch_avoid) + hddLog(LOG1, FL("driver to start sap: %d"), + hdd_ctx->cfg_ini->sap_restrt_ch_avoid); + if (hdd_ctx->cfg_ini->sap_restrt_ch_avoid) { + wlan_hdd_netif_queue_control(adapter, + WLAN_NETIF_TX_DISABLE, + WLAN_CONTROL_PATH); schedule_work( &hdd_ctx->sap_start_work); + } + else + hdd_hostapd_stop(adapter->dev); return; } |
