Merge tag 'nvme-6.9-2024-03-21' of git://git.infradead.org/nvme into block-6.9
[linux-2.6-microblaze.git] / drivers / nvme / target / tcp.c
index c8655fc..a5422e2 100644 (file)
@@ -898,6 +898,7 @@ static int nvmet_tcp_handle_icreq(struct nvmet_tcp_queue *queue)
                pr_err("bad nvme-tcp pdu length (%d)\n",
                        le32_to_cpu(icreq->hdr.plen));
                nvmet_tcp_fatal_error(queue);
+               return -EPROTO;
        }
 
        if (icreq->pfv != NVME_TCP_PFV_1_0) {
@@ -1591,7 +1592,6 @@ static void nvmet_tcp_free_cmd_data_in_buffers(struct nvmet_tcp_queue *queue)
 
 static void nvmet_tcp_release_queue_work(struct work_struct *w)
 {
-       struct page *page;
        struct nvmet_tcp_queue *queue =
                container_of(w, struct nvmet_tcp_queue, release_work);
 
@@ -1615,8 +1615,7 @@ static void nvmet_tcp_release_queue_work(struct work_struct *w)
        if (queue->hdr_digest || queue->data_digest)
                nvmet_tcp_free_crypto(queue);
        ida_free(&nvmet_tcp_queue_ida, queue->idx);
-       page = virt_to_head_page(queue->pf_cache.va);
-       __page_frag_cache_drain(page, queue->pf_cache.pagecnt_bias);
+       page_frag_cache_drain(&queue->pf_cache);
        kfree(queue);
 }