diff -r 61c96456a3e1 drivers/char/tpm/tpm_xen.c --- a/drivers/char/tpm/tpm_xen.c Thu Dec 20 16:58:14 2007 +0000 +++ b/drivers/char/tpm/tpm_xen.c Mon Jan 07 10:07:08 2008 -0500 @@ -617,6 +617,7 @@ static int tpm_xmit(struct tpm_private * tx = &tp->tx->ring[i].req; tx->addr = virt_to_machine(txb->data); tx->size = txb->len; + tx->unused = 0; DPRINTK("First 4 characters sent by TPM-FE are " "0x%02x 0x%02x 0x%02x 0x%02x\n", diff -r 61c96456a3e1 drivers/xen/tpmback/interface.c --- a/drivers/xen/tpmback/interface.c Thu Dec 20 16:58:14 2007 +0000 +++ b/drivers/xen/tpmback/interface.c Mon Jan 07 10:07:08 2008 -0500 @@ -126,6 +126,7 @@ int tpmif_map(tpmif_t *tpmif, unsigned l } tpmif->tx = (tpmif_tx_interface_t *)tpmif->tx_area->addr; + memset(tpmif->tx, 0x0, PAGE_SIZE); err = bind_interdomain_evtchn_to_irqhandler( tpmif->domid, evtchn, tpmif_be_int, 0, tpmif->devname, tpmif);