[S390] qdio: tasklet termination in case of module unload

If the qdio module is unloaded the tiqdio tasklet must be terminated
by tasklet_kill. Move the tasklet_kill after the unregistration of
the adapter interrupt so the tiqdio tasklet will not be scheduled
anymore before calling tasklet_kill.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Jan Glauber 2009-03-26 15:24:30 +01:00 committed by Martin Schwidefsky
parent e85dea0e41
commit 9e890ad880

View file

@ -370,10 +370,11 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr)
void __exit tiqdio_unregister_thinints(void) void __exit tiqdio_unregister_thinints(void)
{ {
tasklet_disable(&tiqdio_tasklet); WARN_ON(!list_empty(&tiq_list));
if (tiqdio_alsi) { if (tiqdio_alsi) {
s390_unregister_adapter_interrupt(tiqdio_alsi, QDIO_AIRQ_ISC); s390_unregister_adapter_interrupt(tiqdio_alsi, QDIO_AIRQ_ISC);
isc_unregister(QDIO_AIRQ_ISC); isc_unregister(QDIO_AIRQ_ISC);
} }
tasklet_kill(&tiqdio_tasklet);
} }