4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Varun Prakash <[email protected]>

commit 83337e544323a8bd7492994d64af339175ac7107 upstream.

If iscsit_tpg_add_network_portal() fails then
return error code instead of 0 to user space.

If iscsi-target returns 0 then user space keeps
on retrying same command infinitely, targetcli or
echo hangs till command completes with non zero
return value. In some cases it is possible that
add network portal command never completes with
success even after retrying multiple times,
for example - cxgbit_setup_np() always returns
-EINVAL if portal IP does not belong to Chelsio
adapter interface.

Signed-off-by: Varun Prakash <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
[ bvanassche: Added "Fixes:" and "Cc: stable" tags ]
Fixes: commit d4b3fa4b0881 ("iscsi-target: Make iscsi_tpg_np driver show/store 
use generic code")
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/target/iscsi/iscsi_target_configfs.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/target/iscsi/iscsi_target_configfs.c
+++ b/drivers/target/iscsi/iscsi_target_configfs.c
@@ -100,8 +100,10 @@ static ssize_t lio_target_np_driver_stor
 
                tpg_np_new = iscsit_tpg_add_network_portal(tpg,
                                        &np->np_sockaddr, tpg_np, type);
-               if (IS_ERR(tpg_np_new))
+               if (IS_ERR(tpg_np_new)) {
+                       rc = PTR_ERR(tpg_np_new);
                        goto out;
+               }
        } else {
                tpg_np_new = iscsit_tpg_locate_child_np(tpg_np, type);
                if (tpg_np_new) {


Reply via email to