Re: [PATCH v6 05/10] drivers: qcom: rpmh-rsc: write sleep/wake requests to TCS

From: Lina Iyer
Date: Tue May 01 2018 - 13:35:19 EST


On Tue, May 01 2018 at 10:42 -0600, Doug Anderson wrote:
Hi,

On Tue, May 1, 2018 at 9:10 AM, Lina Iyer <ilina@xxxxxxxxxxxxxx> wrote:
Yes, this is incorrect in its current form. This is what it should be -

static int find_match(const struct tcs_group *tcs, const struct tcs_cmd
*cmd,
int len)
{
int i, j;

/* Check for already cached commands */
for_each_set_bit(i, tcs->slots, MAX_TCS_SLOTS) {
if (tcs->cmd_cache[i] != cmd[0].addr)
continue;
for (j = 0; j < len; j++) {
WARN(tcs->cmd_cache[i + j] != cmd[j].addr,
"Message does not match previous sequence.\n");
return -EINVAL;
}

If len > 0, won't the above always return -EINVAL?


if (j == len - 1)
return i;

Care to explain how you could get here and the test "if (j == len -
1)" could be false? ;-P

True. Will fix it in the next spin correctly.

--Lina