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/