aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sunrpc/xprtrdma/verbs.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index b9a6e5d8d8c7..db11aa04c612 100644
--- a/net/sunrpc/xprtrdma/verbs.c
+++ b/net/sunrpc/xprtrdma/verbs.c
@@ -1175,17 +1175,6 @@ out:
1175 return rc; 1175 return rc;
1176} 1176}
1177 1177
1178static struct rpcrdma_rep *
1179rpcrdma_buffer_get_rep_locked(struct rpcrdma_buffer *buf)
1180{
1181 struct rpcrdma_rep *rep;
1182
1183 rep = list_first_entry(&buf->rb_recv_bufs,
1184 struct rpcrdma_rep, rr_list);
1185 list_del(&rep->rr_list);
1186 return rep;
1187}
1188
1189static void 1178static void
1190rpcrdma_destroy_rep(struct rpcrdma_rep *rep) 1179rpcrdma_destroy_rep(struct rpcrdma_rep *rep)
1191{ 1180{
@@ -1239,7 +1228,9 @@ rpcrdma_buffer_destroy(struct rpcrdma_buffer *buf)
1239 while (!list_empty(&buf->rb_recv_bufs)) { 1228 while (!list_empty(&buf->rb_recv_bufs)) {
1240 struct rpcrdma_rep *rep; 1229 struct rpcrdma_rep *rep;
1241 1230
1242 rep = rpcrdma_buffer_get_rep_locked(buf); 1231 rep = list_first_entry(&buf->rb_recv_bufs,
1232 struct rpcrdma_rep, rr_list);
1233 list_del(&rep->rr_list);
1243 rpcrdma_destroy_rep(rep); 1234 rpcrdma_destroy_rep(rep);
1244 } 1235 }
1245 1236