Re: [PATCH 0/5] Fix whole native SPI TPM driver

From: Peter Huewe
Date: Wed Feb 22 2017 - 17:51:12 EST




Am 22. Februar 2017 22:19:24 MEZ schrieb Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>:
>On Thu, Feb 16, 2017 at 04:08:21PM +0000, Peter Huewe wrote:
>> During our testing it showed that unfortunately the whole native spi
>tpm driver
>> was more or less non-functional since it was merged, e.g. the wrong
>byte for
>> waitstate handling was used and transfers larger than 64 bytes did
>not work at all.
>>
>> This was probably caused by the merging of the different approaches
>back then,
>> as the initial RFC patch did not have these problems, and also my
>sudden lack
>> of time/commitment back then.
>> I'm sorry that the final driver code went untested for that long
>time.
>>
>> This patch set fixes these issues one by one.
>> In order to avoid duplication the read/write function was
>consolidated to one
>> transfer function, so we do not have to apply the same fix at two
>locations.
>> Maybe consider squashing it - we splitted it for easier review.
>>
>> Affected Kernels: 4.8, 4.9, 4.10
>> Patchset was tested on Raspberry Pi2 with SLB9670 (TPM1.2 and TPM2.0)
>>
>> Peter Huewe (5):
>> tpm_tis_spi: Use single function to transfer data
>> tpm_tis_spi: Abort transfer when too many wait states are signaled
>> tpm_tis_spi: Check correct byte for wait state indicator
>> tpm_tis_spi: Remove limitation of transfers to MAX_SPI_FRAMESIZE
>bytes
>> tpm_tis_spi: Add small delay after last transfer
>>
>> drivers/char/tpm/tpm_tis_spi.c | 163
>+++++++++++++++++------------------------
>> 1 file changed, 69 insertions(+), 94 deletions(-)
>>
>> --
>> 2.7.4
>>
>
>I also found type errors a whilea ago:
>
>https://patchwork.kernel.org/patch/9547993/
>
>Do this take care of these issues?
Not that I'm aware of.
We did not test it on any big endian system yet so the problem never became visible.

In any case it would be really nice to see this patchset to be applied so people have a working,but maybe not perfect, spi tpm on the common little endian platforms.
When do you think you can merge and pull-request them?

Peter
>
>/JArkko

--
Sent from my mobile