"tpm_transmit: tpm_send: error %d\n", len); 
"tpm_transmit: tpm_send: error %zd\n", len); 
static ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf,			    size_t bufsiz){	ssize_t len;	u32 count;	__be32 *native_size;	native_size = (__force __be32 *) (buf + 2);	count = be32_to_cpu(*native_size);	if (count == 0)		return -ENODATA;	if (count > bufsiz) {		dev_err(&chip->pci_dev->dev,			"invalid count value %x %x \n", count, bufsiz);		return -E2BIG;	}	down(&chip->tpm_mutex);	if ((len = chip->vendor->send(chip, (u8 *) buf, count)) < 0) {		dev_err(&chip->pci_dev->dev,			"tpm_transmit: tpm_send: error %d\n", len);		return len;	}	down(&chip->timer_manipulation_mutex);	chip->time_expired = 0;	init_timer(&chip->device_timer);	chip->device_timer.function = tpm_time_expired;	chip->device_timer.expires = jiffies + 2 * 60 * HZ;	chip->device_timer.data = (unsigned long) &chip->time_expired;	add_timer(&chip->device_timer);	up(&chip->timer_manipulation_mutex);	do {		u8 status = inb(chip->vendor->base + 1);		if ((status & chip->vendor->req_complete_mask) ==		    chip->vendor->req_complete_val) {			down(&chip->timer_manipulation_mutex);			del_singleshot_timer_sync(&chip->device_timer);			up(&chip->timer_manipulation_mutex);			goto out_recv;		}		set_current_state(TASK_UNINTERRUPTIBLE);		schedule_timeout(TPM_TIMEOUT);		rmb();	} while (!chip->time_expired);	chip->vendor->cancel(chip);	dev_err(&chip->pci_dev->dev, "Time expired\n");	up(&chip->tpm_mutex);	return -EIO;out_recv:	len = chip->vendor->recv(chip, (u8 *) buf, bufsiz);	if (len < 0)		dev_err(&chip->pci_dev->dev,			"tpm_transmit: tpm_recv: error %d\n", len);	up(&chip->tpm_mutex);	return len;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b76be681f8b296c00f707220b9891934d5d74778/tpm.c/clean/drivers/char/tpm/tpm.c