• Steve Wise's avatar
    RDMA/cxgb4: Reset wait condition atomically · d9594d99
    Steve Wise authored
    The driver was never really waiting for RDMA_WR/FINI completions
    because the condition variable used to determine if the completion
    happened was never reset, and this condition variable is reused for
    both connection setup and teardown.  This causes various driver
    crashes under heavy loads due to releasing resources too early.
    
    The fix is to use atomic bits to correctly reset the condition
    immediately after the completion is detected.
    Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    d9594d99
cm.c 60.3 KB