diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-29 06:03:59 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-04-29 06:03:59 (GMT) |
commit | 04b090d50c88ac8e5ec9c2e985bb65bd153893aa (patch) | |
tree | 065b815f238796bcd5523c8620d9166ad9b573f2 /include/net/iucv | |
parent | d0772b70faaf8e9f2013b6c4273d94d5eac8047a (diff) | |
download | linux-04b090d50c88ac8e5ec9c2e985bb65bd153893aa.tar.xz |
[AF_IUCV/IUCV]: smp_call_function deadlock
Calling smp_call_function can lead to a deadlock if it is called
from tasklet context.
Fixing this deadlock requires to move the smp_call_function from the
tasklet context to a work queue. To do that queue the path pending
interrupts to a separate list and move the path cleanup out of
iucv_path_sever to iucv_path_connect and iucv_path_pending.
This creates a new requirement for iucv_path_connect: it may not be
called from tasklet context anymore.
Also fixed compile problem for CONFIG_HOTPLUG_CPU=n and
another one when walking the cpu_online mask. When doing this,
we must disable cpu hotplug.
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/iucv')
-rw-r--r-- | include/net/iucv/iucv.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/iucv/iucv.h b/include/net/iucv/iucv.h index 746e741..fd70adb 100644 --- a/include/net/iucv/iucv.h +++ b/include/net/iucv/iucv.h @@ -16,7 +16,7 @@ * completed a register, it can exploit the other functions. * For furthur reference on all IUCV functionality, refer to the * CP Programming Services book, also available on the web thru - * www.ibm.com/s390/vm/pubs, manual # SC24-5760 + * www.vm.ibm.com/pubs, manual # SC24-6084 * * Definition of Return Codes * - All positive return codes including zero are reflected back |