mirror of https://gitee.com/openkylin/linux.git
[PATCH] tpm: use flush_scheduled_work()
Add the necessary flush_schedule_work calls when canceling the timer. Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
966cc04b4d
commit
ba3961152e
|
@ -377,6 +377,7 @@ int tpm_release(struct inode *inode, struct file *file)
|
|||
file->private_data = NULL;
|
||||
chip->num_opens--;
|
||||
del_singleshot_timer_sync(&chip->user_read_timer);
|
||||
flush_scheduled_work();
|
||||
atomic_set(&chip->data_pending, 0);
|
||||
put_device(chip->dev);
|
||||
kfree(chip->data_buffer);
|
||||
|
@ -428,6 +429,7 @@ ssize_t tpm_read(struct file * file, char __user *buf,
|
|||
int ret_size;
|
||||
|
||||
del_singleshot_timer_sync(&chip->user_read_timer);
|
||||
flush_scheduled_work();
|
||||
ret_size = atomic_read(&chip->data_pending);
|
||||
atomic_set(&chip->data_pending, 0);
|
||||
if (ret_size > 0) { /* relay data */
|
||||
|
|
Loading…
Reference in New Issue