]> git.baikalelectronics.ru Git - kernel.git/commit
qeth: ungrouping a device must not be interruptible
authorUrsula Braun <braunu@de.ibm.com>
Wed, 29 Aug 2007 09:26:52 +0000 (11:26 +0200)
committerJeff Garzik <jeff@garzik.org>
Fri, 31 Aug 2007 10:52:57 +0000 (06:52 -0400)
commit6f7921def8ed82a68e925661f35ddd3107be2abb
treee56ea20b7a94744b9269a5c2a1b8327797bd8534
parent315afa9711a557cd2d1f118a1f926860e1266756
qeth: ungrouping a device must not be interruptible

Problem:
A recovery thread must not be active when device is removed.
In qeth_remove_device() an interruptible wait operation is used
to wait until a qeth recovery thread is finished. If a user really
interrupts the ungroup operation of a qeth device while a recovery
is running, cio and qeth are out of sync (device already removed
from cio, but kept in qeth). A following module unload of qeth
results in a kernel OOPS here.

Solution:
Do not allow interruption of ungroup operation to guarantee
finishing of a potentially running qeth recovery thread.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/s390/net/qeth_main.c