• Sebastian Ott's avatar
    [S390] cio: wait for channel report · b4563e89
    Sebastian Ott authored
    To fetch a pending channel report word (crw) we use a kernel
    thread which triggers stcrw and sleeps on a semaphore. The s390
    machine check handler uses crw_handle_channel_report to handle
    one crw if needed.
    
    This patch replaces the semaphore with a waitqueue (to block the
    kernel thread) and an atomic_t (to count the number of pending
    requests).
    
    By this we achieve the ability to force this thread to check for
    a pending crw (independent on when it is triggered by the machine
    check handler) and wait for this action to finish.
    Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    b4563e89
crw.c 4.02 KB