summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2015-06-11 10:01:28 +0200
committerNicholas Bellinger <nab@linux-iscsi.org>2015-06-23 09:27:39 +0200
commitb5aafb16ebdb713e9e5ac60db2940fe4baf6328f (patch)
tree2643f7105dc8f26cab778189db985edfedcb7108 /drivers
parenttarget: Send UA on ALUA target port group change (diff)
downloadlinux-b5aafb16ebdb713e9e5ac60db2940fe4baf6328f.tar.xz
linux-b5aafb16ebdb713e9e5ac60db2940fe4baf6328f.zip
target: Send UA upon LUN RESET tmr completion
SAM mandates that an BUS DEVICE RESET FUNCTION OCCURRED UA needs to be send after a LUN RESET tmr has completed. (Update to use target_ua_allocate_lun - hch) Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/target/target_core_transport.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 0364534f8d46..e5088c059b4f 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2983,6 +2983,11 @@ static void target_tmr_work(struct work_struct *work)
ret = core_tmr_lun_reset(dev, tmr, NULL, NULL);
tmr->response = (!ret) ? TMR_FUNCTION_COMPLETE :
TMR_FUNCTION_REJECTED;
+ if (tmr->response == TMR_FUNCTION_COMPLETE) {
+ target_ua_allocate_lun(cmd->se_sess->se_node_acl,
+ cmd->orig_fe_lun, 0x29,
+ ASCQ_29H_BUS_DEVICE_RESET_FUNCTION_OCCURRED);
+ }
break;
case TMR_TARGET_WARM_RESET:
tmr->response = TMR_FUNCTION_REJECTED;