On Mon, Oct 01, 2012 at 09:17:28AM +0000, peter.hu...@infineon.com wrote:
> Hi Jason,
> 
> > The TPM will respond to TPM_GET_CAP with TPM_ERR_INVALID_POSTINIT if
> > TPM_STARTUP has not been issued. This will result in the TPM driver
> > failing to load and no way to recover. Detect this and automatically
> > issue TPM_STARTUP.
> 
> > This is for embedded applications where the kernel is the first thing
> > to touch the TPM.
> 
> Thanks for working on this.
> I also thought about this scenario quite often.
> 
> Shouldn't we then also add a TpmStartup(ST_STATE) in case of a resume?
>  rc=GetCapability()
>  if(rc==INVALID_POSTINIT)
>       tpm_transmit ("TPM_STARTUP(ST_STATE)")...

I'm not familiar enough with how the power management flow works with
the TPM to do this. I don't think that can be the general case
because:

3. If stType = TPM_ST_STATE
  a. If the TPM has no state to restore, the TPM MUST set the internal
     state such that it returns TPM_FAILEDSELFTEST to all subsequent
     commands.

So you need to know a save state exists in the TPM before attempting
the command?

Would you agree that CLEAR is appropriate for an initial driver
attach on probe?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to