• Sasha Levin's avatar
    RDMA/ocrdma: Don't sleep in atomic notifier handler · 3e4d60a8
    Sasha Levin authored
    Events sent to ocrdma_inet6addr_event() are sent from an atomic context,
    therefore we can't try to lock a mutex within the notifier callback.
    
    We could just switch the mutex to a spinlock since all it does it
    protect a list, but I've gone ahead and switched the list to use RCU
    instead.  I couldn't fully test it since I don't have IB hardware, so
    if it doesn't fully work for some reason let me know and I'll switch
    it back to using a spinlock.
    Signed-off-by: default avatarSasha Levin <levinsasha928@gmail.com>
    
    [ Fixed locking in ocrdma_add().  - Roland ]
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    3e4d60a8
ocrdma_main.c 14.8 KB