]> git.baikalelectronics.ru Git - kernel.git/commit
s390/qdio: avoid reschedule of outbound tasklet once killed
authorUrsula Braun <ursula.braun@de.ibm.com>
Fri, 5 Aug 2016 10:33:10 +0000 (12:33 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 8 Aug 2016 14:01:28 +0000 (16:01 +0200)
commitc7e76113e1a8398cd78c1223eda86f734d92959c
treee688298aae0aa41d08fe908b9a9c86c7948e1dda
parent13ad82d13c55dffacb1043d87167d968a55b1916
s390/qdio: avoid reschedule of outbound tasklet once killed

During qdio_shutdown the queue tasklets are killed for all inbound and
outbound queues. The queue structures might be freed after
qdio_shutdown.
Thus it must be guaranteed that these queue tasklets are not rescheduled
after that. In addition the outbound queue timers are deleted and it
must
be guaranteed that these timers are not restarted after qdio_shutdown
processing. Timer deletion should make use of del_timer_sync() to make
sure qdio_outbound_timer() is finished on other CPUs as well. Queue
tasklets should be scheduled in state QDIO_IRQ_STATE_ACTIVE only.

Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/qdio_main.c