summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYun Park <yunp@codeaurora.org>2018-05-11 18:03:10 -0700
committernshrivas <nshrivas@codeaurora.org>2018-05-15 14:14:19 -0700
commit2dcd82bc8fd916338af638b164fa285b4c91ad69 (patch)
tree8bcfde818c566d74658cabb661012f5d59db7b20
parentf4be78136e4cba4ecb0b91730173f6d40192c5e6 (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.h2
-rw-r--r--core/hdd/src/wlan_hdd_ipa.c23
-rw-r--r--core/hdd/src/wlan_hdd_main.c2
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);