Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/tape: Use del_timer_sync()

del_timer() does not wait for a possible running callback to
complete. So the call side might free request and the associated
objects while on another cpu the timer handler runs.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Thomas Gleixner and committed by
Martin Schwidefsky
02ba8d21 bd1cb5de

+1 -1
+1 -1
drivers/s390/char/tape_std.c
··· 78 78 79 79 rc = tape_do_io_interruptible(device, request); 80 80 81 - del_timer(&timeout); 81 + del_timer_sync(&timeout); 82 82 83 83 if (rc != 0) { 84 84 DBF_EVENT(3, "%08x: assign failed - device might be busy\n",