diff options
Diffstat (limited to 'drivers/char/tpm/tpm.c')
| -rw-r--r-- | drivers/char/tpm/tpm.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 05ad4a17a28f..7c4133582dba 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
| @@ -47,6 +47,16 @@ enum tpm_duration { | |||
| 47 | #define TPM_MAX_PROTECTED_ORDINAL 12 | 47 | #define TPM_MAX_PROTECTED_ORDINAL 12 |
| 48 | #define TPM_PROTECTED_ORDINAL_MASK 0xFF | 48 | #define TPM_PROTECTED_ORDINAL_MASK 0xFF |
| 49 | 49 | ||
| 50 | /* | ||
| 51 | * Bug workaround - some TPM's don't flush the most | ||
| 52 | * recently changed pcr on suspend, so force the flush | ||
| 53 | * with an extend to the selected _unused_ non-volatile pcr. | ||
| 54 | */ | ||
| 55 | static int tpm_suspend_pcr; | ||
| 56 | module_param_named(suspend_pcr, tpm_suspend_pcr, uint, 0644); | ||
| 57 | MODULE_PARM_DESC(suspend_pcr, | ||
| 58 | "PCR to use for dummy writes to faciltate flush on suspend."); | ||
| 59 | |||
| 50 | static LIST_HEAD(tpm_chip_list); | 60 | static LIST_HEAD(tpm_chip_list); |
| 51 | static DEFINE_SPINLOCK(driver_lock); | 61 | static DEFINE_SPINLOCK(driver_lock); |
| 52 | static DECLARE_BITMAP(dev_mask, TPM_NUM_DEVICES); | 62 | static DECLARE_BITMAP(dev_mask, TPM_NUM_DEVICES); |
| @@ -1077,18 +1087,6 @@ static struct tpm_input_header savestate_header = { | |||
| 1077 | .ordinal = TPM_ORD_SAVESTATE | 1087 | .ordinal = TPM_ORD_SAVESTATE |
| 1078 | }; | 1088 | }; |
| 1079 | 1089 | ||
| 1080 | /* Bug workaround - some TPM's don't flush the most | ||
| 1081 | * recently changed pcr on suspend, so force the flush | ||
| 1082 | * with an extend to the selected _unused_ non-volatile pcr. | ||
| 1083 | */ | ||
| 1084 | static int tpm_suspend_pcr; | ||
| 1085 | static int __init tpm_suspend_setup(char *str) | ||
| 1086 | { | ||
| 1087 | get_option(&str, &tpm_suspend_pcr); | ||
| 1088 | return 1; | ||
| 1089 | } | ||
| 1090 | __setup("tpm_suspend_pcr=", tpm_suspend_setup); | ||
| 1091 | |||
| 1092 | /* | 1090 | /* |
| 1093 | * We are about to suspend. Save the TPM state | 1091 | * We are about to suspend. Save the TPM state |
| 1094 | * so that it can be restored. | 1092 | * so that it can be restored. |
