From: Alan C. <al...@lx...> - 2006-07-12 21:46:02
|
Ar Mer, 2006-07-12 am 14:01 -0700, ysgrifennodd Kylene Jo Hall: > Under stress testing I found that the interrupt is not always cleared. > This is a bug and this patch should go into 2.6.18 and 2.6.17.x. > > Signed-off-by: Kylene Hall <kj...@us...> > --- > --- tcg/tpmdd/drivers/char/tpm/tpm_tis.c 2006-06-07 11:37:08.000000000 -0700 > +++ linux-2.6.17/drivers/char/tpm/tpm_tis.c 2006-07-10 12:58:28.000000000 -0700 > @@ -424,6 +424,7 @@ static irqreturn_t tis_int_handler(int i > iowrite32(interrupt, > chip->vendor.iobase + > TPM_INT_STATUS(chip->vendor.locality)); > + mb(); NAK This looks incorrect. The iowrite32 will be posted for mmio. mb() may half hide the problem on some processors but you should read from the same PCI device as per the PCI spec. |