Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0f92a6f authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: add check to see if pm client is not NULL"

parents 286149f5 e77187b3
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -1254,14 +1254,15 @@ int ipa_pm_set_throughput(u32 hdl, int throughput)
		return -EINVAL;
	}

	mutex_lock(&ipa_pm_ctx->client_mutex);
	if (hdl >= IPA_PM_MAX_CLIENTS || ipa_pm_ctx->clients[hdl] == NULL
		|| throughput < 0) {
		IPA_PM_ERR("Invalid Params\n");
		mutex_unlock(&ipa_pm_ctx->client_mutex);
		return -EINVAL;
	}
	client = ipa_pm_ctx->clients[hdl];

	mutex_lock(&ipa_pm_ctx->client_mutex);
	if (client->group == IPA_PM_GROUP_DEFAULT)
		IPA_PM_DBG_LOW("Old throughput: %d\n",  client->throughput);
	else
@@ -1280,6 +1281,7 @@ int ipa_pm_set_throughput(u32 hdl, int throughput)
			client->group, ipa_pm_ctx->group_tput[client->group]);
	mutex_unlock(&ipa_pm_ctx->client_mutex);

	if (ipa_pm_ctx->clients[hdl]) {
		spin_lock_irqsave(&client->state_lock, flags);
		if (IPA_PM_STATE_ACTIVE(client->state) || (client->group !=
			IPA_PM_GROUP_DEFAULT)) {
@@ -1288,6 +1290,7 @@ int ipa_pm_set_throughput(u32 hdl, int throughput)
			return 0;
		}
		spin_unlock_irqrestore(&client->state_lock, flags);
	}

	return 0;
}