| From d022789ea6ba9dd38c591ff71e7884959448621c Mon Sep 17 00:00:00 2001 |
| From: Sagi Grimberg <sagi@grimberg.me> |
| Date: Tue, 25 Feb 2020 16:42:27 -0800 |
| Subject: [PATCH] nvmet-tcp: fix maxh2cdata icresp parameter |
| |
| commit 9cda34e37489244a8c8628617e24b2dbc8a8edad upstream. |
| |
| MAXH2CDATA is not zero based. Also no reason to limit ourselves to |
| 1M transfers as we can do more easily. Make this an arbitrary limit |
| of 16M. |
| |
| Reported-by: Wenhua Liu <liuw@vmware.com> |
| Cc: stable@vger.kernel.org # v5.0+ |
| Signed-off-by: Sagi Grimberg <sagi@grimberg.me> |
| Signed-off-by: Keith Busch <kbusch@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c |
| index 482f3ac8c60d..23a42a06b543 100644 |
| --- a/drivers/nvme/target/tcp.c |
| +++ b/drivers/nvme/target/tcp.c |
| @@ -794,7 +794,7 @@ static int nvmet_tcp_handle_icreq(struct nvmet_tcp_queue *queue) |
| icresp->hdr.pdo = 0; |
| icresp->hdr.plen = cpu_to_le32(icresp->hdr.hlen); |
| icresp->pfv = cpu_to_le16(NVME_TCP_PFV_1_0); |
| - icresp->maxdata = cpu_to_le32(0xffff); /* FIXME: support r2t */ |
| + icresp->maxdata = cpu_to_le32(0x400000); /* 16M arbitrary limit */ |
| icresp->cpda = 0; |
| if (queue->hdr_digest) |
| icresp->digest |= NVME_TCP_HDR_DIGEST_ENABLE; |
| -- |
| 2.7.4 |
| |