On Mon, Mar 05, 2018 at 01:34:49PM +0200, Tomas Winkler wrote: > The correct sequence is to first request locality and only after > that perform cmd_ready handshake, otherwise the hardware will drop > the subsequent message as from the device point of view the cmd_ready > handshake wasn't performed. Symmetrically locality has to be relinquished > only after going idle handshake has completed, this requires that > go_idle has to poll for the completion and as well locality > relinquish has to poll for completion so it is not overridden > in back to back commands flow. > > Two wrapper functions are added (request_locality relinquish_locality) > to simplify the error handling. > > The issue is only visible on devices that support multiple localities. > > Fixes: 877c57d0d0ca ("tpm_crb: request and relinquish locality 0") > Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Tested-by: Jarkko Sakkinen <jarkko.sakkine@xxxxxxxxxxxxxxx> Reviewed-by: Jarkko Sakkinen <jarkko.sakkine@xxxxxxxxxxxxxxx> /Jarkko