linux/drivers/char
Stefan Berger 20b87bbfad tpm_tis: Delay ACPI S3 suspend while the TPM is busy
This patch delays the (ACPI S3) suspend while the TPM is busy processing a
command and the TPM TIS driver is run in interrupt mode. This is the same
behavior as we already have it for the TPM TIS driver in polling mode.

Reasoning: Some of the TPM's commands advance the internal state of the TPM.
An example would be the extending of one of its PCR registers. Upper layers,
such as IMA or TSS (TrouSerS), would certainly want to be sure that the
command succeeded rather than getting an error code (-62 = -ETIME) that may
not give a conclusive answer as for what reason the command failed. Reissuing
such a command would put the TPM into the wrong state, so waiting for it to
finish is really the only option.

The downside is that some commands (key creation) can take a long time and
actually prevent the machine from entering S3 at all before the 20 second
timeout of the power management subsystem arrives.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
2011-07-12 18:53:08 -03:00
..
agp agp/uninorth: Fix lockups with radeon KMS and >1x. 2011-05-22 20:23:09 +10:00
hw_random Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2011-05-20 17:24:14 -07:00
ipmi ipmi: convert to seq_file interface 2011-05-26 17:12:37 -07:00
mwave Fix common misspellings 2011-03-31 11:26:23 -03:00
pcmcia pcmcia: Convert pcmcia_device_id declarations to const 2011-05-06 07:46:22 +02:00
tpm tpm_tis: Delay ACPI S3 suspend while the TPM is busy 2011-07-12 18:53:08 -03:00
xilinx_hwicap drivercore: revert addition of of_match to struct device 2011-05-18 12:32:23 -06:00
apm-emulation.c apm-emulation: apm_mutex breaks ACK; remove it 2011-05-23 12:50:43 +02:00
applicom.c
applicom.h
bfin-otp.c
briq_panel.c
bsr.c powerpc/pseries/bsr: Remove redundant initialization of bsr dev_t declaration. 2011-05-04 16:02:40 +10:00
ds1302.c
ds1620.c
dsp56k.c
dtlk.c
efirtc.c
generic_nvram.c
genrtc.c
hangcheck-timer.c
hpet.c drivers/char/hpet.c: fix periodic-emulation for delayed interrupts 2011-06-15 20:04:02 -07:00
i8k.c i8k: Integrate with the hwmon subsystem 2011-05-25 20:43:33 +02:00
Kconfig Allow setting of number of raw devices as a module parameter 2011-05-06 17:52:31 -07:00
lp.c
Makefile drivers/char: add MSM smd_pkt driver 2011-03-23 19:46:38 -07:00
mbcs.c
mbcs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mem.c kmsg: properly support writev to avoid interleaved printk lines fix 2011-04-19 17:00:48 -07:00
misc.c
mmtimer.c
msm_smd_pkt.c drivers/char: add MSM smd_pkt driver 2011-03-23 19:46:38 -07:00
mspec.c drivers/char/mspec.c: use {k,v}zalloc to allocate memory 2011-05-26 17:12:37 -07:00
nsc_gpio.c
nvram.c
nwbutton.c Fix common misspellings 2011-03-31 11:26:23 -03:00
nwbutton.h
nwflash.c
pc8736x_gpio.c
ppdev.c drivers/char/ppdev.c: put gotten port value 2011-05-26 17:12:37 -07:00
ps3flash.c
ramoops.c
random.c Fix common misspellings 2011-03-31 11:26:23 -03:00
raw.c RAW driver: Remove call to kobject_put(). 2011-05-06 17:52:32 -07:00
rtc.c
scc.h
scx200_gpio.c
snsc_event.c
snsc.c
snsc.h
sonypi.c Fix common misspellings 2011-03-31 11:26:23 -03:00
tb0219.c
tlclk.c
toshiba.c
ttyprintk.c tty: now phase out the ioctl file pointer for good 2011-02-17 11:59:56 -08:00
uv_mmtimer.c
viotape.c
virtio_console.c virtio console: don't manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT. 2011-05-30 11:14:13 +09:30