diff options
| author | Yun Park <yunp@codeaurora.org> | 2018-05-11 18:03:10 -0700 |
|---|---|---|
| committer | nshrivas <nshrivas@codeaurora.org> | 2018-05-15 14:14:19 -0700 |
| commit | 2dcd82bc8fd916338af638b164fa285b4c91ad69 (patch) | |
| tree | 8bcfde818c566d74658cabb661012f5d59db7b20 | |
| parent | f4be78136e4cba4ecb0b91730173f6d40192c5e6 (diff) | |
qcacld-3.0: Remove passing adapter to hdd_ipa_uc_stat_request
hdd_bus_bw_work_handler always calls hdd_ipa_uc_stat_request with last
adapter, and this causes adapter validation failure when the interface
is not up.
Fix this by passing hdd_ctx to the hdd_ipa_uc_stat_request instead of
adapter.
Change-Id: I5f63205a67481cc82855c3091478803431cb2c72
CRs-Fixed: 2241794
| -rw-r--r-- | core/hdd/inc/wlan_hdd_ipa.h | 2 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_ipa.c | 23 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 2 |
3 files changed, 10 insertions, 17 deletions
diff --git a/core/hdd/inc/wlan_hdd_ipa.h b/core/hdd/inc/wlan_hdd_ipa.h index f2fe94abc210..54813cd7ca04 100644 --- a/core/hdd/inc/wlan_hdd_ipa.h +++ b/core/hdd/inc/wlan_hdd_ipa.h @@ -88,7 +88,7 @@ int hdd_ipa_resume(hdd_context_t *hdd_ctx); void hdd_ipa_uc_stat_query(hdd_context_t *hdd_ctx, uint32_t *ipa_tx_diff, uint32_t *ipa_rx_diff); void hdd_ipa_uc_rt_debug_host_dump(hdd_context_t *hdd_ctx); -void hdd_ipa_uc_stat_request(hdd_adapter_t *adapter, uint8_t reason); +void hdd_ipa_uc_stat_request(hdd_context_t *hdd_ctx, uint8_t reason); void hdd_ipa_uc_sharing_stats_request(hdd_adapter_t *adapter, uint8_t reset_stats); void hdd_ipa_uc_set_quota(hdd_adapter_t *adapter, uint8_t set_quota, diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 0942d32652b6..5fe300b90808 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -2982,7 +2982,7 @@ static void hdd_ipa_uc_rt_debug_handler(void *ctext) if (!dummy_ptr) { hdd_ipa_uc_rt_debug_host_dump(hdd_ctx); hdd_ipa_uc_stat_request( - hdd_get_adapter(hdd_ctx, QDF_SAP_MODE), + hdd_ctx, HDD_IPA_UC_STAT_REASON_DEBUG); } else { kfree(dummy_ptr); @@ -3440,21 +3440,15 @@ void hdd_ipa_uc_stat_query(hdd_context_t *hdd_ctx, /** * __hdd_ipa_uc_stat_request() - Get IPA stats from IPA. - * @adapter: network adapter + * @hdd_ctx: Global HDD context * @reason: STAT REQ Reason * * Return: None */ -static void __hdd_ipa_uc_stat_request(hdd_adapter_t *adapter, uint8_t reason) +static void __hdd_ipa_uc_stat_request(hdd_context_t *hdd_ctx, uint8_t reason) { - hdd_context_t *hdd_ctx; struct hdd_ipa_priv *hdd_ipa; - if (hdd_validate_adapter(adapter)) - return; - - hdd_ctx = (hdd_context_t *)adapter->pHddCtx; - if (wlan_hdd_validate_context(hdd_ctx)) return; @@ -3469,8 +3463,7 @@ static void __hdd_ipa_uc_stat_request(hdd_adapter_t *adapter, uint8_t reason) (false == hdd_ipa->resource_loading)) { hdd_ipa->stat_req_reason = reason; qdf_mutex_release(&hdd_ipa->ipa_lock); - sme_ipa_uc_stat_request(WLAN_HDD_GET_HAL_CTX(adapter), - adapter->sessionId, + sme_ipa_uc_stat_request(hdd_ctx->hHal, 0, WMA_VDEV_TXRX_GET_IPA_UC_FW_STATS_CMDID, 0, VDEV_CMD); } else { @@ -3480,15 +3473,15 @@ static void __hdd_ipa_uc_stat_request(hdd_adapter_t *adapter, uint8_t reason) /** * hdd_ipa_uc_stat_request() - SSR wrapper for __hdd_ipa_uc_stat_request - * @adapter: network adapter + * @hdd_ctx: Global HDD context * @reason: STAT REQ Reason * * Return: None */ -void hdd_ipa_uc_stat_request(hdd_adapter_t *adapter, uint8_t reason) +void hdd_ipa_uc_stat_request(hdd_context_t *hdd_ctx, uint8_t reason) { cds_ssr_protect(__func__); - __hdd_ipa_uc_stat_request(adapter, reason); + __hdd_ipa_uc_stat_request(hdd_ctx, reason); cds_ssr_unprotect(__func__); } @@ -4375,7 +4368,7 @@ void hdd_ipa_uc_stat(hdd_adapter_t *adapter) /* IPA WDI stats */ hdd_ipa_print_ipa_wdi_stats(hdd_ipa); /* WLAN FW WDI stats */ - hdd_ipa_uc_stat_request(adapter, HDD_IPA_UC_STAT_REASON_DEBUG); + hdd_ipa_uc_stat_request(hdd_ctx, HDD_IPA_UC_STAT_REASON_DEBUG); } /** diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 4fec177e6d7c..a8cedb14dc21 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -7244,7 +7244,7 @@ static void hdd_bus_bw_work_handler(struct work_struct *work) adapter->stats.rx_packets += ipa_rx_packets; hdd_ipa_set_perf_level(hdd_ctx, tx_packets, rx_packets); - hdd_ipa_uc_stat_request(adapter, 2); + hdd_ipa_uc_stat_request(hdd_ctx, 2); } hdd_pld_request_bus_bandwidth(hdd_ctx, tx_packets, rx_packets); |
