diff options
-rw-r--r-- | drivers/infiniband/ulp/iser/iser_initiator.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/iser/iser_initiator.c b/drivers/infiniband/ulp/iser/iser_initiator.c index 12ed62ce9ff7..2a07692007bd 100644 --- a/drivers/infiniband/ulp/iser/iser_initiator.c +++ b/drivers/infiniband/ulp/iser/iser_initiator.c | |||
@@ -137,8 +137,10 @@ iser_prepare_write_cmd(struct iscsi_task *task, | |||
137 | 137 | ||
138 | if (unsol_sz < edtl) { | 138 | if (unsol_sz < edtl) { |
139 | hdr->flags |= ISER_WSV; | 139 | hdr->flags |= ISER_WSV; |
140 | hdr->write_stag = cpu_to_be32(mem_reg->rkey); | 140 | if (buf_out->data_len > imm_sz) { |
141 | hdr->write_va = cpu_to_be64(mem_reg->sge.addr + unsol_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 | iser_dbg("Cmd itt:%d, WRITE tags, RKEY:%#.4X " | 145 | iser_dbg("Cmd itt:%d, WRITE tags, RKEY:%#.4X " |
144 | "VA:%#llX + unsol:%d\n", | 146 | "VA:%#llX + unsol:%d\n", |