|
@@ -1237,21 +1237,11 @@ hdd_ipa_uc_rm_notify_handler(void *context, enum ipa_rm_event event)
|
|
|
hdd_ipa_uc_enable_pipes(hdd_ipa);
|
|
|
}
|
|
|
cdf_mutex_release(&hdd_ipa->ipa_lock);
|
|
|
- if (hdd_ipa->pending_cons_req) {
|
|
|
- ipa_rm_notify_completion(IPA_RM_RESOURCE_GRANTED,
|
|
|
- IPA_RM_RESOURCE_WLAN_CONS);
|
|
|
- }
|
|
|
- hdd_ipa->pending_cons_req = false;
|
|
|
break;
|
|
|
|
|
|
case IPA_RM_RESOURCE_RELEASED:
|
|
|
/* Differed RM Released */
|
|
|
hdd_ipa->resource_unloading = false;
|
|
|
- if (hdd_ipa->pending_cons_req) {
|
|
|
- ipa_rm_notify_completion(IPA_RM_RESOURCE_RELEASED,
|
|
|
- IPA_RM_RESOURCE_WLAN_CONS);
|
|
|
- }
|
|
|
- hdd_ipa->pending_cons_req = false;
|
|
|
break;
|
|
|
|
|
|
default:
|
|
@@ -1381,6 +1371,7 @@ static void hdd_ipa_uc_op_cb(struct op_msg_type *op_msg, void *usr_ctxt)
|
|
|
ipa_rm_notify_completion(
|
|
|
IPA_RM_RESOURCE_GRANTED,
|
|
|
IPA_RM_RESOURCE_WLAN_CONS);
|
|
|
+ hdd_ipa->pending_cons_req = false;
|
|
|
}
|
|
|
cdf_mutex_release(&hdd_ipa->ipa_lock);
|
|
|
}
|
|
@@ -1391,16 +1382,14 @@ static void hdd_ipa_uc_op_cb(struct op_msg_type *op_msg, void *usr_ctxt)
|
|
|
hdd_ipa->activated_fw_pipe--;
|
|
|
if (!hdd_ipa->activated_fw_pipe) {
|
|
|
hdd_ipa_uc_disable_pipes(hdd_ipa);
|
|
|
- if ((hdd_ipa_is_rm_enabled(hdd_ipa->hdd_ctx)) &&
|
|
|
- (!ipa_rm_release_resource(IPA_RM_RESOURCE_WLAN_PROD))) {
|
|
|
- /* Sync return success from IPA
|
|
|
- * Enable/resume all the PIPEs */
|
|
|
- hdd_ipa->resource_unloading = false;
|
|
|
- hdd_ipa_uc_proc_pending_event(hdd_ipa);
|
|
|
- } else {
|
|
|
- hdd_ipa->resource_unloading = false;
|
|
|
- hdd_ipa_uc_proc_pending_event(hdd_ipa);
|
|
|
- }
|
|
|
+ if (hdd_ipa_is_rm_enabled(hdd_ipa->hdd_ctx))
|
|
|
+ ipa_rm_release_resource(
|
|
|
+ IPA_RM_RESOURCE_WLAN_PROD);
|
|
|
+ /* Sync return success from IPA
|
|
|
+ * Enable/resume all the PIPEs */
|
|
|
+ hdd_ipa->resource_unloading = false;
|
|
|
+ hdd_ipa_uc_proc_pending_event(hdd_ipa);
|
|
|
+ hdd_ipa->pending_cons_req = false;
|
|
|
}
|
|
|
cdf_mutex_release(&hdd_ipa->ipa_lock);
|
|
|
}
|