summaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm
diff options
context:
space:
mode:
authorStefan Berger2011-08-23 14:52:10 +0200
committerJames Morris2011-08-24 01:30:08 +0200
commit403d1d0319ad73b5ccf251745af4c7000331a76b (patch)
tree8f04137c79a0ab9c6e5104ba3bf439c6e9e6bb6a /drivers/char/tpm
parentCRED: fix build error due to 'tgcred' undeclared (diff)
downloadkernel-qcow2-linux-403d1d0319ad73b5ccf251745af4c7000331a76b.tar.gz
kernel-qcow2-linux-403d1d0319ad73b5ccf251745af4c7000331a76b.tar.xz
kernel-qcow2-linux-403d1d0319ad73b5ccf251745af4c7000331a76b.zip
tpm: suppress durations sysfs output if not read
Suppress the output in the 'durations' sysfs entry if they were not read during driver initialization. This is similar to other sysfs entries that return nothing if for some reason sending the commands to the TPM fails. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'drivers/char/tpm')
-rw-r--r--drivers/char/tpm/tpm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index caf8012ef47c..e53af7638186 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -963,6 +963,9 @@ ssize_t tpm_show_durations(struct device *dev, struct device_attribute *attr,
{
struct tpm_chip *chip = dev_get_drvdata(dev);
+ if (chip->vendor.duration[TPM_LONG] == 0)
+ return 0;
+
return sprintf(buf, "%d %d %d [%s]\n",
jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]),
jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]),