Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

RDMA/iser: don't send an rkey if all data is written as immadiate-data

We might get some bogus error completions in case the target will
remotely invalidate the rkey and the HCA will need to retransmit
from this buffer.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>

authored by

Sagi Grimberg and committed by
Doug Ledford
e6e52aec 12171971

+4 -2
+4 -2
drivers/infiniband/ulp/iser/iser_initiator.c
··· 137 137 138 138 if (unsol_sz < edtl) { 139 139 hdr->flags |= ISER_WSV; 140 - hdr->write_stag = cpu_to_be32(mem_reg->rkey); 141 - hdr->write_va = cpu_to_be64(mem_reg->sge.addr + unsol_sz); 140 + if (buf_out->data_len > imm_sz) { 141 + hdr->write_stag = cpu_to_be32(mem_reg->rkey); 142 + hdr->write_va = cpu_to_be64(mem_reg->sge.addr + unsol_sz); 143 + } 142 144 143 145 iser_dbg("Cmd itt:%d, WRITE tags, RKEY:%#.4X " 144 146 "VA:%#llX + unsol:%d\n",