On Wed, Jul 1, 2015 at 7:30 PM, Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> wrote: > Memory regions that are the target of an iWARP RDMA READ RESPONSE need > REMOTE_WRITE access rights. So enable REMOTE_WRITE for iWARP devices. I don't see the point to mess the code with this branching on the iwarp specific diffs from IB/RoCE -- note that the MRs for which you mangle their access flags are LOCAL and not advertised to external entity (initiator), hence why not just OR into the access flags what iwarp needs?! > Use the device's max_sge_rd capability to compute the target's read sge > depth. Save both the read and write max_sge values in the isert_conn > struct, and use these when creating RDMA_READ work requests We have here strictly two related but different changes, break this to two patches. > +static int any_port_is_iwarp(struct isert_device *device) > +{ > + int i; > + > + for (i = rdma_start_port(device->ib_device); > + i <= rdma_end_port(device->ib_device); i++) > + if (rdma_protocol_iwarp(device->ib_device, i)) > + return 1; > + return 0; > +} > + If this needed @ all, put in one of the IB core headers, not in a ULP source -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html