RE: [PATCH 1/2 v5] tpm: cmd_ready command can be issued only after granting locality

From: Winkler, Tomas
Date: Mon Feb 26 2018 - 08:59:52 EST



>
> On Sun, 2018-02-25 at 14:00 +0200, Tomas Winkler wrote:
> > if (need_locality && chip->ops->relinquish_locality) {
> > - chip->ops->relinquish_locality(chip, chip->locality);
> > + /* this coud be on error path, don't override error code */
> > + int l_rc = chip->ops->relinquish_locality(chip, chip-
> > >locality);
> > +
> > + if (l_rc)
> > + dev_err(&chip->dev, "%s: relinquish_locality: error
> > %d\n",
> > + __func__, l_rc);
> > +
> > chip->locality = -1;
> > }
>
> The 'l_rc' declaration causes NAK as I've stated before.

I will provide a sixth version that let us both down the tree

>
> Why don't you just make a helper function:
>
> static void tpm_relinquish_locality(struct tpm_chip *chip) {
> int rc;
>
> if (!chip->ops->relinquish_locality)
> return 0;
>
> rc = chip->ops->relinquish_locality(chip);
> if (rc)
> dev_err(&chip->dev, "%s: error %d\n", __func__, rc);
>
> chip->locality = -1;
> }
>
> Then the original code would be simply:
>
> if (need_locality)
> tpm_relinquish_locality(chip);
>
> /Jarkko