dev_err(&chip->pci_dev->dev, "Timeout while clearing FIFO\n"); 
dev_err(chip->dev, "Timeout while clearing FIFO\n"); 
static int tpm_inf_send(struct tpm_chip *chip, u8 * buf, size_t count){	int i;	int ret;	u8 count_high, count_low, count_4, count_3, count_2, count_1;	/* Disabling Reset, LP and IRQC */	outb(RESET_LP_IRQC_DISABLE, chip->vendor->base + CMD);	ret = empty_fifo(chip, 1);	if (ret) {		dev_err(&chip->pci_dev->dev, "Timeout while clearing FIFO\n");		return -EIO;	}	ret = wait(chip, STAT_XFE);	if (ret)		return -EIO;	count_4 = (count & 0xff000000) >> 24;	count_3 = (count & 0x00ff0000) >> 16;	count_2 = (count & 0x0000ff00) >> 8;	count_1 = (count & 0x000000ff);	count_high = ((count + 6) & 0xffffff00) >> 8;	count_low = ((count + 6) & 0x000000ff);	/* Sending Header */	wait_and_send(chip, TPM_VL_VER);	wait_and_send(chip, TPM_CTRL_DATA);	wait_and_send(chip, count_high);	wait_and_send(chip, count_low);	/* Sending Data Header */	wait_and_send(chip, TPM_VL_VER);	wait_and_send(chip, TPM_VL_CHANNEL_TPM);	wait_and_send(chip, count_4);	wait_and_send(chip, count_3);	wait_and_send(chip, count_2);	wait_and_send(chip, count_1);	/* Sending Data */	for (i = 0; i < count; i++) {		wait_and_send(chip, buf[i]);	}	return count;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e659a3fe2027b19ecd8abb7ad79253672763454b/tpm_infineon.c/buggy/drivers/char/tpm/tpm_infineon.c