svcrdma: Add back svc_rdma_recv_ctxt::rc_pages
[linux-2.6-microblaze.git] / net / sunrpc / xprtrdma / svc_rdma_recvfrom.c
index 38f0165..e363cb1 100644 (file)
@@ -214,6 +214,11 @@ struct svc_rdma_recv_ctxt *svc_rdma_recv_ctxt_get(struct svcxprt_rdma *rdma)
 void svc_rdma_recv_ctxt_put(struct svcxprt_rdma *rdma,
                            struct svc_rdma_recv_ctxt *ctxt)
 {
+       /* @rc_page_count is normally zero here, but error flows
+        * can leave pages in @rc_pages.
+        */
+       release_pages(ctxt->rc_pages, ctxt->rc_page_count);
+
        pcl_free(&ctxt->rc_call_pcl);
        pcl_free(&ctxt->rc_read_pcl);
        pcl_free(&ctxt->rc_write_pcl);