]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/infiniband/ulp/iser/iser_initiator.c
RDMA/iser: don't send an rkey if all data is written as immadiate-data
[karo-tx-linux.git] / drivers / infiniband / ulp / iser / iser_initiator.c
index 12ed62ce9ff7ea36bcb622c5f29577c0b16b9685..2a07692007bddac1b56196839c7e403678d61bca 100644 (file)
@@ -137,8 +137,10 @@ iser_prepare_write_cmd(struct iscsi_task *task,
 
        if (unsol_sz < edtl) {
                hdr->flags     |= ISER_WSV;
-               hdr->write_stag = cpu_to_be32(mem_reg->rkey);
-               hdr->write_va   = cpu_to_be64(mem_reg->sge.addr + unsol_sz);
+               if (buf_out->data_len > imm_sz) {
+                       hdr->write_stag = cpu_to_be32(mem_reg->rkey);
+                       hdr->write_va = cpu_to_be64(mem_reg->sge.addr + unsol_sz);
+               }
 
                iser_dbg("Cmd itt:%d, WRITE tags, RKEY:%#.4X "
                         "VA:%#llX + unsol:%d\n",