spin_unlock(&driver_lock);  down(&chip->timer_manipulation_mutex); if (timer_pending(&chip->user_read_timer)) del_singleshot_timer_sync(&chip->user_read_timer); else if (timer_pending(&chip->device_timer)) del_singleshot_timer_sync(&chip->device_timer); up(&chip->timer_manipulation_mutex);  kfree(chip->data_buffer); 
del_singleshot_timer_sync(&chip->user_read_timer); 
int tpm_release(struct inode *inode, struct file *file){	struct tpm_chip *chip = file->private_data;		file->private_data = NULL;	spin_lock(&driver_lock);	chip->num_opens--;	spin_unlock(&driver_lock);	down(&chip->timer_manipulation_mutex);	if (timer_pending(&chip->user_read_timer))		del_singleshot_timer_sync(&chip->user_read_timer);	else if (timer_pending(&chip->device_timer))		del_singleshot_timer_sync(&chip->device_timer);	up(&chip->timer_manipulation_mutex);	kfree(chip->data_buffer);	atomic_set(&chip->data_pending, 0);	pci_dev_put(chip->pci_dev);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fe3fd48384af79e7619d3c6b0a020f801ef63c3b/tpm.c/buggy/drivers/char/tpm/tpm.c