add_timer(&status_timer); 
stop = jiffies + 100; 
static int nsc_wait_for_ready(struct tpm_chip *chip){	int status;	int expired = 0;	struct timer_list status_timer =	    TIMER_INITIALIZER(tpm_time_expired, jiffies + 100,			      (unsigned long) &expired);	/* status immediately available check */	status = inb(chip->vendor->base + NSC_STATUS);	if (status & NSC_STATUS_OBF)		status = inb(chip->vendor->base + NSC_DATA);	if (status & NSC_STATUS_RDY)		return 0;	/* wait for status */	add_timer(&status_timer);	do {		set_current_state(TASK_UNINTERRUPTIBLE);		schedule_timeout(TPM_TIMEOUT);		status = inb(chip->vendor->base + NSC_STATUS);		if (status & NSC_STATUS_OBF)			status = inb(chip->vendor->base + NSC_DATA);		if (status & NSC_STATUS_RDY) {			del_singleshot_timer_sync(&status_timer);			return 0;		}	}	while (!expired);	dev_info(&chip->pci_dev->dev, "wait for ready failed\n");	return -EBUSY;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/700d8bdcd0fa815b08638b1e4d43b66d60cc6a8d/tpm_nsc.c/clean/drivers/char/tpm/tpm_nsc.c