Hello Doug, The patches in this series are what I came up with by reviewing and testing the rdma_rxe driver. Please consider these patches for kernel v4.11. Thanks, Bart. -- Bart Van Assche (15): IB/rxe: Suppress sparse warnings IB/rxe: Constify the pool name IB/rxe: Remove an unused function IB/rxe: Remove an unused variable IB/rxe: Remove superfluous casts IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments IB/rxe: Let the compiler check the type of the cleanup functions IB/rxe: Issue warnings once IB/rxe: Add a runtime check in alloc_index() IB/rxe: Introduce functions for queue draining IB/rxe: Generate a completion for all failed work requests IB/rxe: Fix a MR reference leak in check_rkey() IB/rxe: Fix reference leaks in memory key invalidation code IB/rxe: Remove a pointless indirection layer IB/rxe: Fix an skb leak drivers/infiniband/sw/rxe/rxe.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 83 +++++++++++++++++------------------ drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 12 ++++- drivers/infiniband/sw/rxe/rxe_loc.h | 29 +++++++++--- drivers/infiniband/sw/rxe/rxe_mcast.c | 8 ++-- drivers/infiniband/sw/rxe/rxe_mr.c | 10 ++--- drivers/infiniband/sw/rxe/rxe_net.c | 51 +++++++-------------- drivers/infiniband/sw/rxe/rxe_pool.c | 14 ++---- drivers/infiniband/sw/rxe/rxe_pool.h | 8 ++-- drivers/infiniband/sw/rxe/rxe_qp.c | 4 +- drivers/infiniband/sw/rxe/rxe_recv.c | 2 +- drivers/infiniband/sw/rxe/rxe_req.c | 30 +++++-------- drivers/infiniband/sw/rxe/rxe_resp.c | 64 ++++++++++++++------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 10 ++--- drivers/infiniband/sw/rxe/rxe_verbs.h | 24 +--------- 16 files changed, 164 insertions(+), 191 deletions(-) -- 2.11.0 ��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f