From: Bart Van Assche Date: Tue, 11 Aug 2015 00:06:57 +0000 (-0700) Subject: IB/srp: Use multiple registrations for large memory regions X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7e85c91970125cb16399c7d1cfedc943266eee49;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git IB/srp: Use multiple registrations for large memory regions Instead of using the global rkey for large memory regions, use multiple registrations. See also the while (dma_len) loop further down in srp_map_sg_entry(). Signed-off-by: Bart Van Assche Signed-off-by: Doug Ledford --- diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 6ed976d8aa30..03ae72e338c0 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c @@ -1393,16 +1393,6 @@ static int srp_map_sg_entry(struct srp_map_state *state, return 0; } - if (dma_len > dev->mr_max_size) { - ret = srp_finish_mapping(state, ch); - if (ret) - return ret; - - srp_map_desc(state, dma_addr, dma_len, target->rkey); - srp_map_update_start(state, NULL, 0, 0); - return 0; - } - /* * If this is the first sg that will be mapped via FMR or via FR, save * our position. We need to know the first unmapped entry, its index,