File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -1225,6 +1225,7 @@ static int nvme_tcp_alloc_async_req(struct nvme_tcp_ctrl *ctrl)
1225
1225
1226
1226
static void nvme_tcp_free_queue (struct nvme_ctrl * nctrl , int qid )
1227
1227
{
1228
+ struct page * page ;
1228
1229
struct nvme_tcp_ctrl * ctrl = to_tcp_ctrl (nctrl );
1229
1230
struct nvme_tcp_queue * queue = & ctrl -> queues [qid ];
1230
1231
@@ -1234,6 +1235,11 @@ static void nvme_tcp_free_queue(struct nvme_ctrl *nctrl, int qid)
1234
1235
if (queue -> hdr_digest || queue -> data_digest )
1235
1236
nvme_tcp_free_crypto (queue );
1236
1237
1238
+ if (queue -> pf_cache .va ) {
1239
+ page = virt_to_head_page (queue -> pf_cache .va );
1240
+ __page_frag_cache_drain (page , queue -> pf_cache .pagecnt_bias );
1241
+ queue -> pf_cache .va = NULL ;
1242
+ }
1237
1243
sock_release (queue -> sock );
1238
1244
kfree (queue -> pdu );
1239
1245
mutex_destroy (& queue -> send_mutex );
You can’t perform that action at this time.
0 commit comments