aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nvme/host/tcp.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2019-08-11 23:24:46 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2019-08-11 23:24:46 -0700
commit4aa31b4b61e4985e719352c329c3948d1932cb64 (patch)
tree251d6d11d1e5c9c09adc3e0eb1715c56b2e16c95 /drivers/nvme/host/tcp.c
parentInput: remove w90x900 touchscreen driver (diff)
parentLinux 5.3-rc4 (diff)
downloadlinux-dev-4aa31b4b61e4985e719352c329c3948d1932cb64.tar.xz
linux-dev-4aa31b4b61e4985e719352c329c3948d1932cb64.zip
Merge tag 'v5.3-rc4' into next
Sync up with mainline to bring in device_property_count_u32 andother newer APIs.
Diffstat (limited to 'drivers/nvme/host/tcp.c')
-rw-r--r--drivers/nvme/host/tcp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index 08a2501b9357..606b13d35d16 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -860,7 +860,14 @@ static int nvme_tcp_try_send_data(struct nvme_tcp_request *req)
else
flags |= MSG_MORE;
- ret = kernel_sendpage(queue->sock, page, offset, len, flags);
+ /* can't zcopy slab pages */
+ if (unlikely(PageSlab(page))) {
+ ret = sock_no_sendpage(queue->sock, page, offset, len,
+ flags);
+ } else {
+ ret = kernel_sendpage(queue->sock, page, offset, len,
+ flags);
+ }
if (ret <= 0)
return ret;