diff --git a/drivers/infiniband/ulp/srp/ib_srp.c
b/drivers/infiniband/ulp/srp/ib_srp.c
index 72fac20..fac1423 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1662,7 +1662,7 @@ static int srp_map_data(struct scsi_cmnd *scmnd,
struct srp_rdma_ch *ch,
              return ret;
          req->nmdesc++;
      } else {
-        idb_rkey = target->global_mr->rkey;
+        idb_rkey = cpu_to_be32(target->global_mr->rkey);
      }

Wouldn't it make more sense to define idb_rkey to be u32 and change
endianness when assigning it to the indirect desc?

Hello Sagi,

That's possible, but that would cause the endianness of the indirect
data buffer rkey to be changed three times - a first time in
srp_map_desc(), a second time in srp_map_idb() and a third time in
srp_map_data(). Hence the choice to fix the IDB rkey via the above patch.

Fine with me.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to