summaryrefslogtreecommitdiff
path: root/drivers/char/tpm/tpm_tis.c
diff options
context:
space:
mode:
authorKylene Jo Hall <kjhall@us.ibm.com>2006-07-14 07:24:30 (GMT)
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-15 04:53:55 (GMT)
commitcab091eaa4952777d3183b6d7ce203a213cddc12 (patch)
treee972336ef2441e2d107959d5dc0914429bc0487d /drivers/char/tpm/tpm_tis.c
parent737bebd137561e184f0a8b4332d9bb0238d8b639 (diff)
downloadlinux-cab091eaa4952777d3183b6d7ce203a213cddc12.tar.xz
[PATCH] tpm: interrupt clear fix
Under stress testing I found that the interrupt is not always cleared. Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/tpm/tpm_tis.c')
-rw-r--r--drivers/char/tpm/tpm_tis.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 3232b19..29dac1e 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -424,6 +424,7 @@ static irqreturn_t tis_int_handler(int irq, void *dev_id, struct pt_regs *regs)
iowrite32(interrupt,
chip->vendor.iobase +
TPM_INT_STATUS(chip->vendor.locality));
+ ioread32(chip->vendor.iobase + TPM_INT_STATUS(chip->vendor.locality));
return IRQ_HANDLED;
}