Messages in this thread | | | Date | Thu, 28 Aug 2014 00:35:16 +0000 (UTC) | From | Scot Doyle <> | Subject | Re: [RFC PATCH v3] tpm_tis: verify interrupt during init |
| |
On Wed, 27 Aug 2014, Jason Gunthorpe wrote:
> On Wed, Aug 27, 2014 at 09:32:10PM +0000, Scot Doyle wrote: >>>> - if (tpm_do_selftest(chip)) { >>>> - dev_err(dev, "TPM self test failed\n"); >>>> - rc = -ENODEV; >>>> - goto out_err; >>>> - } >>> >>> Move gettimeout too >> >> Can it be moved? It sends startup(clear) if the TPM isn't yet operational. > > To move it means we have to understand why you are getting timeouts: > > [ 33.247720] tpm_tis 00:08: tpm_transmit: tpm_send: error -62 > [ 33.247731] tpm_tis 00:08: [Hardware Error]: TPM command timed out during continue self test > > I had thought based on your other patch that these should not happen > since the raw register is polled after the timer expires?
It is polled after the timer expires in tpm_tis_send_data, but not in tpm_tis_send, and the return value is used in tpm_tis_send...
> What is going on here? Do you still have that other patch applied?
...so with the other patch applied too, the output is: [ 1.464217] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16) [ 3.570836] tpm_tis 00:08: tpm_transmit: tpm_send: error -62 [ 3.660885] tpm_tis 00:08: [Firmware Bug]: TPM interrupt not working, polling instead
Much better! Any thoughts before I proceed?
| |