• Arthur Jones's avatar
    IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close · 70c51da2
    Arthur Jones authored
    ipath_poll() suffered from a couple subtle bugs.  Under the right
    conditions we could leave recv interrupts enabled on an ipath user
    context on close, thereby taking potentially unwanted interrupts on the
    next open -- this is fixed by unconditionally turning off recv
    interrupts on close.  Also, we now use counters rather than set/clear
    bits which allows us to make sure we catch all interrupts at the cost of
    changing the semantics slightly (it's now give me all events since the
    last time I called poll() rather than give me all events since I called
    _this_ poll routine).  We also added some memory barriers which may help
    ensure we get all notifications in a timely manner.
    Signed-off-by: default avatarArthur Jones <arthur.jones@qlogic.com>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    70c51da2
ipath_intr.c 35.9 KB