qcacld-3.0: Fix uc_op_work->msg leak from uC ready callback
The Change-Id: I69c813047ab4b1b129e4fb057d8aacbef5cc9efea is missed as part of UMAC IPA componentization changes. Propagate the missed change to IPA component. Change-Id: I2c346a266c2c767dd37b5901d8d671e475449a01 CRs-Fixed: 2233325
Tento commit je obsažen v:
@@ -114,6 +114,13 @@ static void wlan_ipa_uc_loaded_uc_cb(void *priv_ctxt)
|
||||
}
|
||||
|
||||
ipa_ctx = priv_ctxt;
|
||||
ipa_ctx->uc_loaded = true;
|
||||
|
||||
uc_op_work = &ipa_ctx->uc_op_work[WLAN_IPA_UC_OPCODE_UC_READY];
|
||||
if (!list_empty(&uc_op_work->work.work.entry)) {
|
||||
/* uc_op_work is not initialized yet */
|
||||
return;
|
||||
}
|
||||
|
||||
msg = qdf_mem_malloc(sizeof(*msg));
|
||||
if (!msg) {
|
||||
@@ -123,14 +130,13 @@ static void wlan_ipa_uc_loaded_uc_cb(void *priv_ctxt)
|
||||
|
||||
msg->op_code = WLAN_IPA_UC_OPCODE_UC_READY;
|
||||
|
||||
uc_op_work = &ipa_ctx->uc_op_work[msg->op_code];
|
||||
|
||||
/* When the same uC OPCODE is already pended, just return */
|
||||
if (uc_op_work->msg)
|
||||
goto done;
|
||||
|
||||
uc_op_work->msg = msg;
|
||||
qdf_sched_work(0, &uc_op_work->work);
|
||||
|
||||
/* work handler will free the msg buffer */
|
||||
return;
|
||||
|
||||
@@ -2349,8 +2355,6 @@ static void wlan_ipa_uc_loaded_handler(struct wlan_ipa_priv *ipa_ctx)
|
||||
return;
|
||||
}
|
||||
|
||||
ipa_ctx->uc_loaded = true;
|
||||
|
||||
/* Connect pipe */
|
||||
status = wlan_ipa_wdi_setup(ipa_ctx, qdf_dev);
|
||||
if (status) {
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele