From: Or Gerlitz <ogerlitz@mellanox.com>
Date: Wed, 1 May 2013 13:25:26 +0000 (+0000)
Subject: IB/iser: Return error to upper layers on EAGAIN registration failures
X-Git-Tag: firefly_0821_release~3680^2~525^2^3~1
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=450d1e40d597dd71843457c73d372c4b4f2a83eb;p=firefly-linux-kernel-4.4.55.git

IB/iser: Return error to upper layers on EAGAIN registration failures

Commit 819a087316a6 ("IB/iser: Avoid error prints on EAGAIN
registration failures") not only eliminated the error print on that
case, but rather also modified the code such that it doesn't return
any error to upper layers.  As a result a wrong mapping was used.  Fix
this to correctly return the error in that case.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
---

diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c
index be1edb04b085..68ebb7fe072a 100644
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@ -416,8 +416,9 @@ int iser_reg_rdma_mem(struct iscsi_iser_task *iser_task,
 			for (i=0 ; i<ib_conn->page_vec->length ; i++)
 				iser_err("page_vec[%d] = 0x%llx\n", i,
 					 (unsigned long long) ib_conn->page_vec->pages[i]);
-			return err;
 		}
+		if (err)
+			return err;
 	}
 	return 0;
 }