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

From: Doug Anderson
Date: Tue May 01 2018 - 12:43:02 EST


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

-Doug