--- /dev/null
+From 2363d196686e44c0158929e7cf96c8589a24a81b Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Tue, 3 Jun 2014 18:27:52 -0700
+Subject: iser-target: Fix multi network portal shutdown regression
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit 2363d196686e44c0158929e7cf96c8589a24a81b upstream.
+
+This patch fixes a iser-target specific regression introduced in
+v3.15-rc6 with:
+
+commit 14f4b54fe38f3a8f8392a50b951c8aa43b63687a
+Author: Sagi Grimberg <sagig@mellanox.com>
+Date: Tue Apr 29 13:13:47 2014 +0300
+
+ Target/iscsi,iser: Avoid accepting transport connections during stop stage
+
+where the change to set iscsi_np->enabled = false within
+iscsit_clear_tpg_np_login_thread() meant that a iscsi_np with
+two iscsi_tpg_np exports would have it's parent iscsi_np set
+to a disabled state, even if other iscsi_tpg_np exports still
+existed.
+
+This patch changes iscsit_clear_tpg_np_login_thread() to only
+set iscsi_np->enabled = false when shutdown = true, and also
+changes iscsit_del_np() to set iscsi_np->enabled = true when
+iscsi_np->np_exports is non zero.
+
+Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/target/iscsi/iscsi_target.c | 1 +
+ drivers/target/iscsi/iscsi_target_tpg.c | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/target/iscsi/iscsi_target.c
++++ b/drivers/target/iscsi/iscsi_target.c
+@@ -460,6 +460,7 @@ int iscsit_del_np(struct iscsi_np *np)
+ spin_lock_bh(&np->np_thread_lock);
+ np->np_exports--;
+ if (np->np_exports) {
++ np->enabled = true;
+ spin_unlock_bh(&np->np_thread_lock);
+ return 0;
+ }
+--- a/drivers/target/iscsi/iscsi_target_tpg.c
++++ b/drivers/target/iscsi/iscsi_target_tpg.c
+@@ -184,7 +184,8 @@ static void iscsit_clear_tpg_np_login_th
+ return;
+ }
+
+- tpg_np->tpg_np->enabled = false;
++ if (shutdown)
++ tpg_np->tpg_np->enabled = false;
+ iscsit_reset_np_thread(tpg_np->tpg_np, tpg_np, tpg, shutdown);
+ }
+
--- /dev/null
+From e7810c2d2c37fa8e58dda74b00790dab60fe6fba Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Thu, 5 Jun 2014 23:37:00 -0700
+Subject: target: Allow READ_CAPACITY opcode in ALUA Standby access state
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit e7810c2d2c37fa8e58dda74b00790dab60fe6fba upstream.
+
+This patch allows READ_CAPACITY + SAI_READ_CAPACITY_16 opcode
+processing to occur while the associated ALUA group is in Standby
+access state.
+
+This is required to avoid host side LUN probe failures during the
+initial scan if an ALUA group has already implicitly changed into
+Standby access state.
+
+This addresses a bug reported by Chris + Philip using dm-multipath
++ ESX hosts configured with ALUA multipath.
+
+(Drop v3.15 specific set_ascq usage - nab)
+
+Reported-by: Chris Boot <crb@tiger-computing.co.uk>
+Reported-by: Philip Gaw <pgaw@darktech.org.uk>
+Cc: Chris Boot <crb@tiger-computing.co.uk>
+Cc: Philip Gaw <pgaw@darktech.org.uk>
+Cc: Hannes Reinecke <hare@suse.de>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/target/target_core_alua.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/target/target_core_alua.c
++++ b/drivers/target/target_core_alua.c
+@@ -564,7 +564,16 @@ static inline int core_alua_state_standb
+ case REPORT_LUNS:
+ case RECEIVE_DIAGNOSTIC:
+ case SEND_DIAGNOSTIC:
++ case READ_CAPACITY:
+ return 0;
++ case SERVICE_ACTION_IN:
++ switch (cdb[1] & 0x1f) {
++ case SAI_READ_CAPACITY_16:
++ return 0;
++ default:
++ *alua_ascq = ASCQ_04H_ALUA_TG_PT_STANDBY;
++ return 1;
++ }
+ case MAINTENANCE_IN:
+ switch (cdb[1] & 0x1f) {
+ case MI_REPORT_TARGET_PGS: