• Martin Schwidefsky's avatar
    [AF_IUCV/IUCV]: smp_call_function deadlock · 04b090d5
    Martin Schwidefsky authored
    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: default avatarFrank Pavlic <fpavlic@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    04b090d5
iucv.h 13.9 KB